X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-mx%2Fmh.c;h=7c2f7e2675e73e77ace5bcdb6a0084a673ddfa67;hp=e1cf230469a665b2413f86faa2962fe741cf98dc;hb=2ac2bb6e436cef59dcbb88031b276aa81a109785;hpb=51239e43fd4a3c2440b4574379e8525d75646b3e diff --git a/lib-mx/mh.c b/lib-mx/mh.c index e1cf230..7c2f7e2 100644 --- a/lib-mx/mh.c +++ b/lib-mx/mh.c @@ -164,7 +164,7 @@ static int mh_mkstemp (CONTEXT * dest, FILE ** fp, char **tgt) for (;;) { snprintf (path, _POSIX_PATH_MAX, "%s/.mutt-%s-%d-%d", - dest->path, NONULL (Hostname), (int) getpid (), Counter++); + dest->path, NONULL(MCore.shorthost), (int) getpid (), Counter++); umask (Umask); if ((fd = open (path, O_WRONLY | O_EXCL | O_CREAT, 0666)) == -1) { if (errno != EEXIST) { @@ -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 } @@ -919,7 +911,7 @@ static int maildir_open_new_message (MESSAGE * msg, CONTEXT * dest, HEADER * hdr for (;;) { snprintf (path, _POSIX_PATH_MAX, "%s/tmp/%s.%ld.%u_%d.%s%s", dest->path, subdir, (long) time (NULL), - (unsigned int) getpid (), Counter++, NONULL (Hostname), suffix); + (unsigned int) getpid (), Counter++, NONULL (MCore.shorthost), suffix); umask (Umask); if ((fd = open (path, O_WRONLY | O_EXCL | O_CREAT, 0666)) == -1) { @@ -992,7 +984,7 @@ static int maildir_commit_message (MESSAGE * msg, CONTEXT * ctx, HEADER * hdr) for (;;) { snprintf (path, _POSIX_PATH_MAX, "%s/%ld.%u_%d.%s%s", subdir, (long) time (NULL), (unsigned int) getpid (), Counter++, - NONULL (Hostname), suffix); + NONULL (MCore.shorthost), suffix); snprintf (full, _POSIX_PATH_MAX, "%s/%s", ctx->path, path); if (safe_rename (msg->path, full) == 0) { @@ -1431,7 +1423,7 @@ static int maildir_check_mailbox (CONTEXT * ctx, int *index_hint, int unused __a struct maildir *md; /* list of messages in the mailbox */ struct maildir **last, *p; int i; - HASH *fnames; /* hash table for quickly looking up the base filename + hash_t *fnames; /* hash table for quickly looking up the base filename for a maildir message */ if (!option (OPTCHECKNEW)) @@ -1472,7 +1464,7 @@ static int maildir_check_mailbox (CONTEXT * ctx, int *index_hint, int unused __a * of each message we scanned. This is used in the loop over the * existing messages below to do some correlation. */ - fnames = hash_create (1031, 0); + fnames = hash_new (1031, 0); for (p = md; p; p = p->next) { maildir_canon_filename (buf, p->h->path, sizeof (buf)); @@ -1530,7 +1522,7 @@ static int maildir_check_mailbox (CONTEXT * ctx, int *index_hint, int unused __a } /* destroy the file name hash */ - hash_destroy (&fnames, NULL); + hash_delete (&fnames, NULL); /* If we didn't just get new mail, update the tables. */ if (occult) @@ -1564,7 +1556,7 @@ static int mh_check_mailbox (CONTEXT * ctx, int *index_hint, int unused __attrib struct maildir *md, *p; struct maildir **last = NULL; struct mh_sequences mhs; - HASH *fnames; + hash_t *fnames; int i; if (!option (OPTCHECKNEW)) @@ -1610,7 +1602,7 @@ static int mh_check_mailbox (CONTEXT * ctx, int *index_hint, int unused __attrib mhs_free_sequences (&mhs); /* check for modifications and adjust flags */ - fnames = hash_create (1031, 0); + fnames = hash_new (1031, 0); for (p = md; p; p = p->next) hash_insert (fnames, p->h->path, p); @@ -1633,7 +1625,7 @@ static int mh_check_mailbox (CONTEXT * ctx, int *index_hint, int unused __attrib /* destroy the file name hash */ - hash_destroy (&fnames, NULL); + hash_delete (&fnames, NULL); /* If we didn't just get new mail, update the tables. */ if (occult)