]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldbm/ldbm.c
don't send error with back-meta
[openldap] / servers / slapd / back-ldbm / ldbm.c
index 663c448b5920b68fcb066f621be5b23933a94f28..6790f06d401c57b681394ac247f63026a69fc1e5 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2004 The OpenLDAP Foundation.
+ * Copyright 1998-2006 The OpenLDAP Foundation.
  * Portions Copyright 1998-2003 Kurt D. Zeilenga.
  * Portions Copyright 1998-2001 Net Boolean Incorporated.
  * All rights reserved.
@@ -134,7 +134,11 @@ ldbm_malloc( size_t size )
 #endif
 
 static void
+#if DB_VERSION_X < 0x040300
 ldbm_db_errcall( const char *prefix, char *message )
+#else
+ldbm_db_errcall( const DB_ENV *env, const char *prefix, char *message )
+#endif
 {
 #ifdef LDAP_SYSLOG
        syslog( LOG_INFO, "ldbm: %s %s", prefix, message );
@@ -152,8 +156,16 @@ int ldbm_initialize( const char* home )
 
        {
                char *version;
+#ifdef HAVE_EBCDIC
+               char v2[1024];
+#endif
                int major, minor, patch;
                version = db_version( &major, &minor, &patch );
+#ifdef HAVE_EBCDIC
+               strcpy( v2, version );
+               __etoa( v2 );
+               version = v2;
+#endif
 
                if( major != DB_VERSION_MAJOR ||
                        minor < DB_VERSION_MINOR )
@@ -632,7 +644,7 @@ ldbm_errno( LDBM ldbm )
 
 #elif defined( HAVE_GDBM )
 
-#ifdef HAVE_ST_BLKSIZE
+#ifdef HAVE_STRUCT_STAT_ST_BLKSIZE
 #include <sys/stat.h>
 #endif
 
@@ -646,7 +658,7 @@ LDBM
 ldbm_open( DB_ENV *env, char *name, int rw, int mode, int dbcachesize )
 {
        LDBM            db;
-#ifdef HAVE_ST_BLKSIZE
+#ifdef HAVE_STRUCT_STAT_ST_BLKSIZE
                struct stat     st;
 #endif
 #ifdef HAVE_EBCDIC
@@ -665,7 +677,7 @@ ldbm_open( DB_ENV *env, char *name, int rw, int mode, int dbcachesize )
                return( NULL );
        }
 
-#ifdef HAVE_ST_BLKSIZE
+#ifdef HAVE_STRUCT_STAT_ST_BLKSIZE
        if ( dbcachesize > 0 && stat( name, &st ) == 0 ) {
                dbcachesize /= st.st_blksize;
                if( dbcachesize == 0 ) dbcachesize = 1;