X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-mx%2Fmh.c;h=7c2f7e2675e73e77ace5bcdb6a0084a673ddfa67;hp=38ad5e30604883d16da771ed37bde64e7f4e40c5;hb=2ac2bb6e436cef59dcbb88031b276aa81a109785;hpb=b6980caf7b13994c57957872876cdecc21e54a82 diff --git a/lib-mx/mh.c b/lib-mx/mh.c index 38ad5e3..7c2f7e2 100644 --- a/lib-mx/mh.c +++ b/lib-mx/mh.c @@ -730,7 +730,7 @@ static void maildir_delayed_parsing (CONTEXT * ctx, struct maildir *md) int count; #ifdef USE_HCACHE - void *hc = NULL; + hcache_t *hc = NULL; void *data; struct timeval *when = NULL; struct stat lastchanged; @@ -753,19 +753,11 @@ static void maildir_delayed_parsing (CONTEXT * ctx, struct maildir *md) snprintf (fn, sizeof (fn), "%s/%s", ctx->path, p->h->path); #ifdef USE_HCACHE - if (option (OPTHCACHEVERIFY)) { - ret = stat (fn, &lastchanged); - } - else { - lastchanged.st_mtime = 0; - ret = 0; - } - - if (data != NULL && !ret && lastchanged.st_mtime <= when->tv_sec) { - p->h = mutt_hcache_restore ((unsigned char *) data, &p->h); + ret = stat(fn, &lastchanged); + if (data && !ret && lastchanged.st_mtime <= when->tv_sec) { + p->h = mutt_hcache_restore(data, &p->h); maildir_parse_flags (p->h, fn); - } - else + } else #endif if (maildir_parse_message (ctx->magic, fn, p->h->old, p->h)) { p->header_parsed = 1; @@ -773,15 +765,15 @@ static void maildir_delayed_parsing (CONTEXT * ctx, struct maildir *md) #ifdef USE_HCACHE mutt_hcache_store (hc, p->h->path + 3, p->h, 0, &maildir_hcache_keylen); #endif - } - else + } else { header_delete(&p->h); + } #ifdef USE_HCACHE p_delete(&data); #endif } #ifdef USE_HCACHE - mutt_hcache_close (hc); + mutt_hcache_close (&hc); #endif }