From 622fb9169d5c554d5f5c8ca42e978f133be5bb45 Mon Sep 17 00:00:00 2001 From: David Sommerseth Date: Fri, 28 Nov 2008 11:47:38 +0100 Subject: Added minimum API version check when loading database driver. --- database/eurephiadb.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'database/eurephiadb.c') 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: -- cgit