X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=mh.c;h=5ca542f1b640c4024f74323f16346892ef98c723;hp=63c7bd78b31215daf04c6e3cefa2d41c7c280609;hb=9eb3b25249e78d778b6d0583b06a7c5615709e63;hpb=2891636277fb96f992eaf08b4e6acc11ca9ea57c diff --git a/mh.c b/mh.c index 63c7bd7..5ca542f 100644 --- a/mh.c +++ b/mh.c @@ -17,23 +17,6 @@ # include "config.h" #endif -#include -#include -#include -#include - -#include "mutt.h" -#include "mx.h" -#include "mh.h" -#include "mbox.h" -#include "copy.h" -#include "buffy.h" -#include "sort.h" -#include "thread.h" -#include "hcache.h" - -#include "lib/debug.h" - #include #include #include @@ -52,6 +35,22 @@ #include #endif +#include +#include +#include +#include +#include + +#include "mutt.h" +#include "mx.h" +#include "mh.h" +#include "mbox.h" +#include "copy.h" +#include "buffy.h" +#include "sort.h" +#include "thread.h" +#include "hcache.h" + struct maildir { HEADER *h; char *canon_fname; @@ -142,7 +141,7 @@ static void mh_read_sequences (struct mh_sequences *mhs, const char *path) int line = 1; char *buff = NULL; char *t; - size_t sz = 0; + ssize_t sz = 0; short f; int first, last; @@ -273,7 +272,7 @@ void mh_update_sequences (CONTEXT * ctx) char *tmpfname; char *buff = NULL; char *p; - size_t s; + ssize_t s; int l = 0; int i; @@ -384,7 +383,7 @@ static void mh_sequences_add_one (CONTEXT * ctx, int n, short unseen, char *buff = NULL; int line; - size_t sz; + ssize_t sz; if (mh_mkstemp (ctx, &nfp, &tmpfname) == -1) return; @@ -463,7 +462,7 @@ static void maildir_free_entry (struct maildir **md) p_delete(&(*md)->canon_fname); if ((*md)->h) - mutt_free_header (&(*md)->h); + header_delete(&(*md)->h); p_delete(md); } @@ -567,7 +566,7 @@ static HEADER *maildir_parse_message (int magic, const char *fname, if ((f = fopen (fname, "r")) != NULL) { if (!h) - h = mutt_new_header (); + h = header_new(); h->env = mutt_read_rfc822_header (f, h, 0, 0); fstat (fileno (f), &st); @@ -610,7 +609,7 @@ static HEADER *maildir_parse_message (int magic, const char *fname, static int maildir_parse_entry (CONTEXT * ctx, struct maildir ***last, const char *subdir, const char *fname, - int *count, int is_old, ino_t inode) + int *count, int is_old, ino_t inode __attribute__ ((unused))) { struct maildir *entry; HEADER *h = NULL; @@ -624,7 +623,7 @@ static int maildir_parse_entry (CONTEXT * ctx, struct maildir ***last, if (ctx->magic == M_MH) h = maildir_parse_message (ctx->magic, buf, is_old, NULL); else { - h = mutt_new_header (); + h = header_new(); h->old = is_old; maildir_parse_flags (h, buf); } @@ -755,11 +754,9 @@ static int maildir_move_to_context (CONTEXT * ctx, struct maildir **md) } #ifdef USE_HCACHE -static size_t maildir_hcache_keylen (const char *fn) +static ssize_t maildir_hcache_keylen (const char *fn) { - const char *p = strchr (fn, ':'); - - return p ? (size_t) (p - fn) : m_strlen(fn); + return m_strchrnul(fn, ':') - fn; } #endif @@ -819,7 +816,7 @@ void maildir_delayed_parsing (CONTEXT * ctx, struct maildir *md) #endif } else - mutt_free_header (&p->h); + header_delete(&p->h); #ifdef USE_HCACHE p_delete(&data); #endif @@ -887,7 +884,7 @@ static int maildir_read_dir (CONTEXT * ctx) * Open a new (temporary) message in an MH folder. */ -static int mh_open_new_message (MESSAGE * msg, CONTEXT * dest, HEADER * hdr) +static int mh_open_new_message (MESSAGE * msg, CONTEXT * dest, HEADER * hdr __attribute__ ((unused))) { return mh_mkstemp (dest, &msg->fp, &msg->path); } @@ -897,7 +894,7 @@ int ch_compar (const void *a, const void *b) return (int) (*((const char *) a) - *((const char *) b)); } -static void maildir_flags (char *dest, size_t destlen, HEADER * hdr) +static void maildir_flags (char *dest, ssize_t destlen, HEADER * hdr) { *dest = '\0'; @@ -1293,7 +1290,7 @@ static int maildir_sync_message (CONTEXT * ctx, int msgno) return (0); } -static int mh_sync_mailbox (CONTEXT * ctx, int unused, int *index_hint) +static int mh_sync_mailbox (CONTEXT * ctx, int unused __attribute__ ((unused)), int *index_hint) { char path[_POSIX_PATH_MAX], tmp[_POSIX_PATH_MAX]; int i, j; @@ -1386,7 +1383,7 @@ err: return -1; } -static char *maildir_canon_filename (char *dest, const char *src, size_t l) +static char *maildir_canon_filename (char *dest, const char *src, ssize_t l) { char *t, *u; @@ -1468,7 +1465,7 @@ static void maildir_update_flags (CONTEXT * ctx, HEADER * o, HEADER * n) * either subdirectory differently, as mail could be copied directly into * the cur directory from another agent. */ -static int maildir_check_mailbox (CONTEXT * ctx, int *index_hint, int unused) +static int maildir_check_mailbox (CONTEXT * ctx, int *index_hint, int unused __attribute__ ((unused))) { struct stat st_new; /* status of the "new" subdirectory */ struct stat st_cur; /* status of the "cur" subdirectory */ @@ -1555,7 +1552,7 @@ static int maildir_check_mailbox (CONTEXT * ctx, int *index_hint, int unused) ctx->hdrs[i]->trash = p->h->trash; /* this is a duplicate of an existing header, so remove it */ - mutt_free_header (&p->h); + header_delete(&p->h); } /* This message was not in the list of messages we just scanned. * Check to see if we have enough information to know if the @@ -1605,7 +1602,7 @@ static int maildir_check_mailbox (CONTEXT * ctx, int *index_hint, int unused) * */ -static int mh_check_mailbox (CONTEXT * ctx, int *index_hint, int unused) +static int mh_check_mailbox (CONTEXT * ctx, int *index_hint, int unused __attribute__ ((unused))) { char buf[_POSIX_PATH_MAX]; struct stat st, st_cur; @@ -1674,7 +1671,7 @@ static int mh_check_mailbox (CONTEXT * ctx, int *index_hint, int unused) if (!ctx->hdrs[i]->changed) maildir_update_flags (ctx, ctx->hdrs[i], p->h); - mutt_free_header (&p->h); + header_delete(&p->h); } else /* message has disappeared */ occult = 1; @@ -1788,7 +1785,7 @@ static int maildir_check_empty (const char *path) DIR *dp; struct dirent *de; int r = 1; /* assume empty until we find a message */ - char realpath[_POSIX_PATH_MAX]; + char frealpath[_POSIX_PATH_MAX]; int iter = 0; /* Strategy here is to look for any file not beginning with a period */ @@ -1797,9 +1794,9 @@ static int maildir_check_empty (const char *path) /* we do "cur" on the first iteration since its more likely that we'll * find old messages without having to scan both subdirs */ - snprintf (realpath, sizeof (realpath), "%s/%s", path, + snprintf (frealpath, sizeof (frealpath), "%s/%s", path, iter == 0 ? "cur" : "new"); - if ((dp = opendir (realpath)) == NULL) + if ((dp = opendir (frealpath)) == NULL) return -1; while ((de = readdir (dp))) { if (*de->d_name != '.') {