int fd;
char lockfile[_POSIX_PATH_MAX];
} HEADER_CACHE;
+
+static void mutt_hcache_dbt_init(DBT * dbt, void *data, size_t len);
+static void mutt_hcache_dbt_empty_init(DBT * dbt);
#endif
typedef union
}
int
-mutt_hcache_store_raw (void* db, const char* filename, char* data,
+mutt_hcache_store_raw (void* db, const char* filename, void* data,
size_t dlen, size_t(*keylen) (const char* fn))
{
struct header_cache *h = db;
databuf.size = dlen;
databuf.ulen = dlen;
- return h->db->put(h->db, NULL, &key, &data, 0);
+ return h->db->put(h->db, NULL, &key, &databuf, 0);
#else
strncpy(path, h->folder, sizeof (path));
safe_strcat(path, sizeof (path), filename);
size_t (*keylen)(const char *fn));
int mutt_hcache_store(void *db, const char *filename, HEADER *h,
unsigned long uid_validity, size_t (*keylen)(const char *fn));
-int mutt_hcache_store_raw (void* db, const char* filename, char* data,
+int mutt_hcache_store_raw (void* db, const char* filename, void* data,
size_t dlen, size_t(*keylen) (const char* fn));
int mutt_hcache_delete(void *db, const char *filename, size_t (*keylen)(const char *fn));