void cmd_cull(char *argbuf) {
if (CtdlAccessCheck(ac_internal)) return;
cdb_cull_logs();
- cprintf("%d Database log file cull completed.", CIT_OK);
+ cprintf("%d Database log file cull completed.\n", CIT_OK);
}
if (ret) {
syslog(LOG_EMERG, "db_open[%02x]: %s\n", i, db_strerror(ret));
if (ret == ENOMEM) {
- syslog(LOG_EMERG, "You may need to tune your database; please read http://www.citadel.org/doku.php/faq:troubleshooting:out_of_lock_entries for more information.\n");
+ syslog(LOG_EMERG, "You may need to tune your database; please read http://www.citadel.org/doku.php?id=faq:troubleshooting:out_of_lock_entries for more information.");
}
syslog(LOG_EMERG, "exit code %d\n", ret);
exit(CTDLEXIT_DB);
* 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;
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;
* 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) {
if (tempcdb == NULL) {
syslog(LOG_EMERG, "cdb_fetch: Cannot allocate memory for tempcdb\n");
cdb_abort();
+ return NULL; /* make it easier for static analysis... */
+ }
+ else
+ {
+ tempcdb->len = dret.size;
+ tempcdb->ptr = dret.data;
+ cdb_decompress_if_necessary(tempcdb);
+ return (tempcdb);
}
-
- tempcdb->len = dret.size;
- tempcdb->ptr = dret.data;
- cdb_decompress_if_necessary(tempcdb);
- return (tempcdb);
}
if (TSD->cursors[cdb] != NULL) {
syslog(LOG_EMERG,
- "cdb_rewind: must close cursor on database %d before reopening.\n", cdb);
+ "cdb_rewind: must close cursor on database %d before reopening.\n", cdb);
cdb_abort();
/* cclose(TSD->cursors[cdb]); */
}
} else {
syslog(LOG_EMERG, "cdb_truncate(%d): %s\n", cdb, db_strerror(ret));
if (ret == ENOMEM) {
- syslog(LOG_EMERG, "You may need to tune your database; please read http://www.citadel.org/doku.php/faq:troubleshooting:out_of_lock_entries for more information.");
+ syslog(LOG_EMERG, "You may need to tune your database; please read http://www.citadel.org/doku.php?id=faq:troubleshooting:out_of_lock_entries for more information.");
}
exit(CTDLEXIT_DB);
}