#endif
}
-#if DB_VERSION_MAJOR < 3
-
int ldbm_initialize( const char* home )
{
int err;
}
}
+#if DB_VERSION_MAJOR < 3
#ifndef HAVE_BERKELEY_DB_THREAD
ldap_pvt_thread_mutex_init( &ldbm_big_mutex );
#endif
#endif
return( 1 );
}
+#endif
return 0;
}
{
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 )
#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;
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 )
{
{
}
-
#endif