#define gdbm_DELETE(db,key) gdbm_delete(db,key)
#define gdbm_FIRSTKEY(db) gdbm_firstkey(db)
#define gdbm_NEXTKEY(db,key) gdbm_nextkey(db,key)
+#define gdbm_EXISTS(db,key) gdbm_exists(db,key)
typedef datum gdatum;
return -1;
}
+/* Versions of gdbm prior to 1.7x might not have the gdbm_sync,
+ gdbm_exists, and gdbm_setopt functions. Apparently Slackware
+ (Linux) 2.1 contains gdbm-1.5 (which dates back to 1991).
+*/
+#ifndef GDBM_FAST
+#define gdbm_exists(db,key) not_here("gdbm_exists")
+#define gdbm_sync(db) (void) not_here("gdbm_sync")
+#define gdbm_setopt(db,optflag,optval,optlen) not_here("gdbm_setopt")
+#endif
+
static double
constant(name, arg)
char *name;
if (RETVAL) {
if (RETVAL < 0 && errno == EPERM)
croak("No write permission to gdbm file");
- warn("gdbm store returned %d, errno %d, key \"%.*s\"",
+ croak("gdbm store returned %d, errno %d, key \"%.*s\"",
RETVAL,errno,key.dsize,key.dptr);
/* gdbm_clearerr(db); */
}
gdbm_reorganize(db)
GDBM_File db
+
+void
+gdbm_sync(db)
+ GDBM_File db
+
+int
+gdbm_exists(db, key)
+ GDBM_File db
+ datum key
+
+int
+gdbm_setopt (db, optflag, optval, optlen)
+ GDBM_File db
+ int optflag
+ int &optval
+ int optlen
+