From: Kurt Zeilenga Date: Tue, 4 Sep 2001 00:14:17 +0000 (+0000) Subject: Add BDB3.0 support X-Git-Tag: OPENLDAP_REL_ENG_2_0_13~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f685746c5aa942bb476e2ee4dded51b2e170bbed;p=thirdparty%2Fopenldap.git Add BDB3.0 support --- diff --git a/libraries/libldbm/ldbm.c b/libraries/libldbm/ldbm.c index 734af29dfa..f230d8e2e8 100644 --- a/libraries/libldbm/ldbm.c +++ b/libraries/libldbm/ldbm.c @@ -102,8 +102,6 @@ ldbm_db_errcall( const char *prefix, char *message ) #endif } -#if DB_VERSION_MAJOR < 3 - int ldbm_initialize( const char* home ) { int err; @@ -134,6 +132,7 @@ int ldbm_initialize( const char* home ) } } +#if DB_VERSION_MAJOR < 3 #ifndef HAVE_BERKELEY_DB_THREAD ldap_pvt_thread_mutex_init( &ldbm_big_mutex ); #endif @@ -174,6 +173,7 @@ int ldbm_initialize( const char* home ) #endif return( 1 ); } +#endif return 0; } @@ -182,35 +182,17 @@ int ldbm_shutdown( void ) { if( !ldbm_initialized ) return 1; +#if DB_VERSION_MAJOR < 3 db_appexit( ldbm_Env ); #ifndef HAVE_BERKELEY_DB_THREAD ldap_pvt_thread_mutex_destroy( &ldbm_big_mutex ); +#endif #endif return 0; } -#else /* Berkeley v3 or greater */ - - -int ldbm_initialize( const char * home ) -{ - /* v3 uses ldbm_initialize_env */ - return 0; -} - - -int ldbm_shutdown( void ) -{ - return 0; -} - - -#endif - - - #else /* some DB other than Berkeley V2 or greater */ int ldbm_initialize( const char * home ) @@ -236,7 +218,6 @@ int ldbm_shutdown( void ) #if defined( HAVE_BERKELEY_DB ) && (DB_VERSION_MAJOR >= 3) - DB_ENV *ldbm_initialize_env(const char *home, int dbcachesize, int *envdirok) { DB_ENV *env = NULL; @@ -272,7 +253,12 @@ DB_ENV *ldbm_initialize_env(const char *home, int dbcachesize, int *envdirok) envFlags |= DB_INIT_MPOOL | DB_INIT_CDB | DB_USE_ENVIRON; +#if DB_VERSION_MAJOR > 3 || DB_VERSION_MINOR > 0 err = env->open( env, home, envFlags, 0 ); +#else + /* 3.0.x requires an extra argument */ + err = env->open( env, home, NULL, envFlags, 0 ); +#endif if ( err != 0 ) { @@ -310,7 +296,6 @@ void ldbm_shutdown_env(DB_ENV *env) { } - #endif