X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=hcache.c;h=9541f65348e0c737a4270c87a155f70ab9dcfb00;hp=c6892ff55fcef0fa95b04855b7c54fe2b711c214;hb=db1559aa249af20c82548f6a01230bcca3d34607;hpb=0ecf3d77dc355f4bea99910a9dfb6f5866c9f73a diff --git a/hcache.c b/hcache.c index c6892ff..9541f65 100644 --- a/hcache.c +++ b/hcache.c @@ -177,9 +177,6 @@ static unsigned char *dump_address (ADDRESS * a, unsigned char *d, int *off) d = dump_int (0xdeadbeef, d, off); while (a) { -#ifdef EXACT_ADDRESS - d = dump_char (a->val, d, off); -#endif d = dump_char (a->personal, d, off); d = dump_char (a->mailbox, d, off); d = dump_int (a->group, d, off); @@ -200,9 +197,6 @@ static void restore_address (ADDRESS ** a, const unsigned char *d, int *off) while (counter) { *a = safe_malloc (sizeof (ADDRESS)); -#ifdef EXACT_ADDRESS - restore_char (&(*a)->val, d, off); -#endif restore_char (&(*a)->personal, d, off); restore_char (&(*a)->mailbox, d, off); restore_int ((unsigned int *) &(*a)->group, d, off); @@ -463,12 +457,6 @@ static int generate_crc32 () safe_strlen ("HAVE_LANGINFO_CODESET")); #endif -#if EXACT_ADDRESS - crc = - crc32 (crc, (unsigned char const *) "EXACT_ADDRESS", - safe_strlen ("EXACT_ADDRESS")); -#endif - #ifdef USE_POP crc = crc32 (crc, (unsigned char const *) "USE_POP", safe_strlen ("USE_POP")); @@ -617,10 +605,7 @@ void * mutt_hcache_open(const char *path, const char *folder) { struct header_cache *h = safe_calloc(1, sizeof (HEADER_CACHE)); - int flags = 0; -#if 0 /* FIXME */ - int pagesize = atoi(HeaderCachePageSize) ? atoi(HeaderCachePageSize) : 16384; -#endif + int flags = VL_OWRITER | VL_OCREAT; h->db = NULL; h->folder = safe_strdup(folder); h->crc = generate_crc32(); @@ -635,14 +620,9 @@ mutt_hcache_open(const char *path, const char *folder) path = mutt_hcache_per_folder(path, folder); if (option(OPTHCACHECOMPRESS)) - flags = VL_OZCOMP; + flags |= VL_OZCOMP; - h->db = vlopen(path, flags | VL_OWRITER | VL_OCREAT, VL_CMPLEX); - if (h->db) - return h; - - /* if rw failed try ro */ - h->db = vlopen(path, flags | VL_OREADER, VL_CMPLEX); + h->db = vlopen(path, flags, VL_CMPLEX); if (h->db) return h; else @@ -688,9 +668,7 @@ mutt_hcache_fetch(void *db, const char *filename, if (! crc32_matches(data, h->crc)) { - if (data) { - FREE(&data); - } + FREE(&data); return NULL; } @@ -815,7 +793,7 @@ void *mutt_hcache_fetch (void *db, const char *filename, data = gdbm_fetch (h->db, key); if (!crc32_matches (data.dptr, h->crc)) { - free (data.dptr); + FREE(&data.dptr); return NULL; } @@ -929,7 +907,7 @@ void *mutt_hcache_open (const char *path, const char *folder) } ret = - h->env->open (h->env, NULL, DB_INIT_MPOOL | DB_CREATE | DB_PRIVATE, 0600); + (h->env->open)(h->env, NULL, DB_INIT_MPOOL | DB_CREATE | DB_PRIVATE, 0600); if (!ret) { ret = db_create (&h->db, h->env, 0); if (ret) { @@ -946,7 +924,7 @@ void *mutt_hcache_open (const char *path, const char *folder) h->db->set_pagesize (h->db, pagesize); } - ret = h->db->open (h->db, NULL, path, folder, DB_BTREE, createflags, 0600); + ret = (h->db->open)(h->db, NULL, path, folder, DB_BTREE, createflags, 0600); if (ret) { h->db->close (h->db, 0); h->env->close (h->env, 0); @@ -962,7 +940,6 @@ void *mutt_hcache_open (const char *path, const char *folder) void mutt_hcache_close (void *db) { struct header_cache *h = db; - int ret; if (!h) { return; @@ -995,7 +972,7 @@ void *mutt_hcache_fetch (void *db, const char *filename, h->db->get (h->db, NULL, &key, &data, 0); if (!crc32_matches (data.data, h->crc)) { - free (data.data); + FREE(&data.data); return NULL; }