Merge branch 'master' into nohook
[apps/madmutt.git] / lib-mx / hcache.c
index a985ae3..bb38c81 100644 (file)
@@ -55,15 +55,11 @@ static int generate_crc32(void)
     int crc = 0;
 
     crc = crc32(crc, "madmutt.2007.05.13", m_strlen("madmutt.2007.05.13"));
-#ifdef HAVE_LANGINFO_CODESET
-    crc = crc32(crc, MCharset.charset, m_strlen(MCharset.charset));
+#ifdef HAVE_LANGINFO_H
+    crc = crc32(crc, mod_cset.charset, m_strlen(mod_cset.charset));
 #endif
     crc = crc32(crc, "USE_POP",   m_strlen("USE_POP"));
-    crc = crc32(crc, "MIXMASTER", m_strlen("MIXMASTER"));
     crc = crc32(crc, "USE_IMAP",  m_strlen("USE_IMAP"));
-#ifdef USE_NNTP
-    crc = crc32(crc, "USE_NNTP",  m_strlen("USE_NNTP"));
-#endif
     return crc;
 }
 
@@ -277,13 +273,6 @@ static void dump_envelope(buffer_t *buf, ENVELOPE * e)
     dump_cstr(buf, e->x_label);
     dump_cstr(buf, e->list_post);
 
-#ifdef USE_NNTP
-    dump_cstr(buf, e->newsgroups);
-    dump_cstr(buf, e->xref);
-    dump_cstr(buf, e->followup_to);
-    dump_cstr(buf, e->x_comment_to);
-#endif
-
     dump_list(buf, e->references);
     dump_list(buf, e->in_reply_to);
     dump_list(buf, e->userhdrs);
@@ -315,17 +304,9 @@ static const void *restore_envelope(const char *d, ENVELOPE *e)
     d = restore_cstr(d, &e->x_label);
     d = restore_cstr(d, &e->list_post);
 
-#ifdef USE_NNTP
-    d = restore_cstr(d, &e->newsgroups);
-    d = restore_cstr(d, &e->xref);
-    d = restore_cstr(d, &e->followup_to);
-    d = restore_cstr(d, &e->x_comment_to);
-#endif
-
     d = restore_list(d, &e->references);
     d = restore_list(d, &e->in_reply_to);
     d = restore_list(d, &e->userhdrs);
-
     return d;
 }
 
@@ -377,32 +358,26 @@ HEADER *mutt_hcache_restore(const void *_d, HEADER **oh)
 
 /* }}} */
 
-hcache_t *mutt_hcache_open(const char *path, const char *folder)
+hcache_t *mutt_hcache_open(const char *folder)
 {
-    hcache_t *h = p_new(hcache_t, 1);
-
-    h->folder = m_strdup(folder);
-    h->crc = generate_crc32();
+    const char *path;
+    hcache_t *h;
 
-    if (m_strisempty(path)) {
-        p_delete(&h->folder);
-        p_delete(&h);
+    if (m_strisempty(mod_core.cachedir)) {
         return NULL;
     }
 
-    path = mutt_hcache_per_folder(path, folder);
+    h = p_new(hcache_t, 1);
+    h->folder = m_strdup(folder);
+    h->crc    = generate_crc32();
+
+    path = mutt_hcache_per_folder(mod_core.cachedir, folder);
 
     {
 #if defined(HAVE_QDBM)
-        int flags = VL_OWRITER | VL_OCREAT;
-        if (option(OPTHCACHECOMPRESS))
-            flags |= VL_OZCOMP;
-
-        h->db = vlopen(path, flags, VL_CMPLEX);
+        h->db = vlopen(path, VL_OWRITER | VL_OCREAT, VL_CMPLEX);
 #elif defined(HAVE_GDBM)
-        int pagesize = atoi(HeaderCachePageSize) ?: 16384;
-
-        h->db = gdbm_open((char *) path, pagesize, GDBM_WRCREAT, 00600, NULL);
+        h->db = gdbm_open((char *) path, 16384, GDBM_WRCREAT, 00600, NULL);
 #endif
     }