From 96550b1cc37f3d78294a2bb6d860be7e5867872f Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Mon, 21 May 2012 22:44:22 +0200 Subject: [PATCH] DB: query keys are not written by berkeley db. believe me. --- citadel/database.c | 8 +++++--- citadel/database.h | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/citadel/database.c b/citadel/database.c index 26cce1633..0da1f0f19 100644 --- a/citadel/database.c +++ b/citadel/database.c @@ -526,7 +526,7 @@ void cdb_decompress_if_necessary(struct cdbdata *cdb) * Store a piece of data. Returns 0 if the operation was successful. If a * key already exists it should be overwritten. */ -int cdb_store(int cdb, void *ckey, int ckeylen, void *cdata, int cdatalen) +int cdb_store(int cdb, const void *ckey, int ckeylen, void *cdata, int cdatalen) { DBT dkey, ddata; @@ -542,7 +542,9 @@ int cdb_store(int cdb, void *ckey, int ckeylen, void *cdata, int cdatalen) memset(&dkey, 0, sizeof(DBT)); memset(&ddata, 0, sizeof(DBT)); dkey.size = ckeylen; + /* no, we don't care for this error. */ dkey.data = ckey; + ddata.size = cdatalen; ddata.data = cdata; @@ -680,15 +682,15 @@ static DBC *localcursor(int cdb) * 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, void *key, int keylen) +struct cdbdata *cdb_fetch(int cdb, const void *key, int keylen) { - struct cdbdata *tempcdb; DBT dkey, dret; int ret; memset(&dkey, 0, sizeof(DBT)); dkey.size = keylen; + /* no we don't care about this error. */ dkey.data = key; if (TSD->tid != NULL) { diff --git a/citadel/database.h b/citadel/database.h index f693f65cf..a9f0bbfd3 100644 --- a/citadel/database.h +++ b/citadel/database.h @@ -16,9 +16,9 @@ void open_databases (void); void close_databases (void); -int cdb_store (int cdb, void *key, int keylen, void *data, int datalen); +int cdb_store (int cdb, const void *key, int keylen, void *data, int datalen); int cdb_delete (int cdb, void *key, int keylen); -struct cdbdata *cdb_fetch (int cdb, void *key, int keylen); +struct cdbdata *cdb_fetch (int cdb, const void *key, int keylen); void cdb_free (struct cdbdata *cdb); void cdb_rewind (int cdb); struct cdbdata *cdb_next_item (int cdb); -- 2.30.2