#if defined(HAVE_TOKYOCABINET)
#include <tcutil.h>
#include <tchdb.h>
-#elif defined(HAVE_QDBM)
-#include <depot.h>
-#include <cabin.h>
-#include <villa.h>
#elif defined(HAVE_GDBM)
#include <gdbm.h>
#else
struct hcache_t {
#if defined(HAVE_TOKYOCABINET)
TCHDB *db;
-#elif defined(HAVE_QDBM)
- VILLA *db;
#elif defined(HAVE_GDBM)
GDBM_FILE db;
#endif
tchdbdel(h->db);
h->db = NULL;
}
-#elif defined(HAVE_QDBM)
- h->db = vlopen(path, VL_OWRITER | VL_OCREAT, VL_CMPLEX);
#elif defined(HAVE_GDBM)
h->db = gdbm_open((char *) path, 16384, GDBM_WRCREAT, 00600, NULL);
#endif
#if defined(HAVE_TOKYOCABINET)
tchdbdel((*db)->db);
(*db)->db = NULL;
-#elif defined(HAVE_QDBM)
- vlclose((*db)->db);
#elif defined(HAVE_GDBM)
gdbm_close((*db)->db);
#endif
#if defined(HAVE_TOKYOCABINET)
int unused;
data = tchdbget(db->db, path, ksize, &unused);
-#elif defined(HAVE_QDBM)
- data = vlget(db->db, path, ksize, NULL);
#elif defined(HAVE_GDBM)
datum k = { .dptr = path, .dsize = ksize };
int ksize = keylen(path);
#if defined(HAVE_TOKYOCABINET)
ret = !!tchdbput(db->db, path, ksize, data->data, data->len) - 1;
-#elif defined(HAVE_QDBM)
- ret = !!vlput(db->db, path, ksize, data->data, data->len, VL_DOVER) - 1;
#elif defined(HAVE_GDBM)
datum k = { .dptr = path, .dsize = ksize };
datum v = { .dptr = data->data, .dsize = data->len };
char path[_POSIX_PATH_MAX];
if (!db)
- return -1;
+ return;
snprintf(path, sizeof(path), "%s%s", db->folder, filename);
int ksize = keylen(path);
#if defined(HAVE_TOKYOCABINET)
tchdbout(db->db, path, ksize);
-#elif defined(HAVE_QDBM)
- vlout(db->db, path, ksize);
#elif defined(HAVE_GDBM)
datum k = { .dptr = path, .dsize = ksize };
gdbm_delete(db->db, k);