From: Art Cancro Date: Tue, 8 Aug 2023 21:47:13 +0000 (-0400) Subject: saving my work before I do the rest of the functions en masse X-Git-Tag: v989~95 X-Git-Url: https://code.citadel.org/?a=commitdiff_plain;h=09c93bd1cecd15a421c9ebc862bf2a71432533f5;p=citadel.git saving my work before I do the rest of the functions en masse --- diff --git a/citadel/server/database.h b/citadel/server/database.h index 48da24eac..f1da45f76 100644 --- a/citadel/server/database.h +++ b/citadel/server/database.h @@ -14,7 +14,6 @@ void cdb_open_databases(void); void cdb_close_databases(void); int cdb_store(int, const void *, int, void *, int); int cdb_delete(int, void *, int); -struct cdbdata * cdb_fetch(int, const void *, int); void cdb_free(struct cdbdata *); struct cdbdata * cdb_next_item(int); void cdb_close_cursor(int); @@ -25,6 +24,7 @@ void cdb_trunc(int); void cdb_chmod_data(void); void check_handles(void *); +extern struct cdbdata * (*cdb_fetch)(int, const void *, int); extern void (*cdb_checkpoint)(void); extern void (*cdb_compact)(void); extern void (*cdb_rewind)(int); diff --git a/citadel/server/database_bdb.c b/citadel/server/database_bdb.c index d84a497d4..6f55c476f 100644 --- a/citadel/server/database_bdb.c +++ b/citadel/server/database_bdb.c @@ -30,9 +30,10 @@ #include "citserver.h" #include "config.h" -void (*cdb_compact)(void) = NULL; -void (*cdb_checkpoint)(void) = NULL; -void (*cdb_rewind)(int) = NULL; +void (*cdb_compact)(void) = NULL; +void (*cdb_checkpoint)(void) = NULL; +void (*cdb_rewind)(int) = NULL; +struct cdbdata * (*cdb_fetch)(int, const void *, int) = NULL; static DB *dbp[MAXCDB]; // One DB handle for each Citadel database static DB_ENV *dbenv; // The DB environment (global) @@ -529,7 +530,7 @@ static DBC *localcursor(int cdb) { // Fetch a piece of data. If not found, returns NULL. Otherwise, it returns // a struct cdbdata which it is the caller's responsibility to free later on // using the cdb_free() routine. -struct cdbdata *cdb_fetch(int cdb, const void *key, int keylen) { +struct cdbdata *bdb_fetch(int cdb, const void *key, int keylen) { if (keylen == 0) { // key length zero is impossible return(NULL); @@ -749,5 +750,6 @@ void cdb_init_backends(void) { cdb_compact = bdb_compact; cdb_checkpoint = bdb_checkpoint; cdb_rewind = bdb_rewind; + cdb_fetch = bdb_fetch; syslog(LOG_INFO, "db: initialized Berkeley DB backend"); }