summaryrefslogtreecommitdiffstats
path: root/database/eurephiadb.c
diff options
context:
space:
mode:
Diffstat (limited to 'database/eurephiadb.c')
-rw-r--r--database/eurephiadb.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/database/eurephiadb.c b/database/eurephiadb.c
index 9a6ecbd..bbc655f 100644
--- a/database/eurephiadb.c
+++ b/database/eurephiadb.c
@@ -49,7 +49,7 @@ int eDBlink_close(eurephiaCTX *ctx)
}
-int eDBlink_init(eurephiaCTX *ctx, const char *dbl)
+int eDBlink_init(eurephiaCTX *ctx, const char *dbl, const int minver)
{
#ifdef MEMWATCH
mwStatistics(3);
@@ -76,6 +76,15 @@ int eDBlink_init(eurephiaCTX *ctx, const char *dbl)
eurephia_log(ctx, LOG_INFO, 1, "Driver loaded: %s (API version %i)",
eDB_DriverVersion(), eDB_DriverAPIVersion());
+ // Check that we are using at least a new enough driver
+ if( eDB_DriverAPIVersion() < minver ) {
+ eurephia_log(ctx, LOG_FATAL, 0,
+ "The requested eurephiaDB driver is too old. This program needs "
+ "API version %i, but this driver only supports API version %i.\n",
+ minver, eDB_DriverAPIVersion());
+ return 0;
+ }
+
// Configure functions contained in the driver, defined by API version
switch( eDB_DriverAPIVersion() ) {
default: