if ( data.dptr ) {
free( data.dptr );
memset( &data, 0, sizeof( Datum ));
+ data.dptr = NULL;
}
}
#else
+#ifndef WIN32
#ifdef HAVE_SYSLOG
#include "syslog.h"
#else
#define LOG_INFO 1
extern int syslog(int, char*, ...);
#endif
+#endif /* WIN32 */
void *
ldbm_malloc( size_t size )
static void
ldbm_db_errcall( const char *prefix, char *message )
{
+#ifndef WIN32
syslog( LOG_INFO, "ldbm_db_errcall(): %s %s", prefix, message );
+#endif
}
/* a dbEnv for BERKELEYv2 */
sprintf( error, "%s\n", strerror( err ));
}
+#ifndef WIN32
syslog( LOG_INFO,
"ldbm_initialize(): FATAL error in db_appinit() : %s\n",
error );
+#endif
return( 1 );
}
#elif defined( HAVE_GDBM )
+#ifdef HAVE_ST_BLKSIZE
#include <sys/stat.h>
+#endif
/*****************************************************************
* *
ldbm_open( char *name, int rw, int mode, int dbcachesize )
{
LDBM db;
- struct stat st;
+#ifdef HAVE_ST_BLKSIZE
+ struct stat st;
+#endif
LDBM_LOCK;
LDBM_UNLOCK;
return( NULL );
}
+
+#ifdef HAVE_ST_BLKSIZE
if ( dbcachesize > 0 && stat( name, &st ) == 0 ) {
dbcachesize = (dbcachesize / st.st_blksize);
gdbm_setopt( db, GDBM_CACHESIZE, &dbcachesize, sizeof(int) );
}
+#else
+ dbcachesize = (dbcachesize / 4096);
+ gdbm_setopt( db, GDBM_CACHESIZE, &dbcachesize, sizeof(int) );
+#endif
LDBM_UNLOCK;