X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=mh.c;h=bfaaab229979ffa3c7177199883f78aad135eaf7;hp=5ca542f1b640c4024f74323f16346892ef98c723;hb=284454918cc95058b026d057195eaa5279135c36;hpb=40fc05e11b8f95a9661e6e410a9e7b7da7824891 diff --git a/mh.c b/mh.c index 5ca542f..bfaaab2 100644 --- a/mh.c +++ b/mh.c @@ -13,33 +13,10 @@ * mailboxes. */ -#if HAVE_CONFIG_H -# include "config.h" -#endif - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include +#include #include -#if HAVE_SYS_TIME_H -#include -#endif - -#include -#include -#include -#include -#include +#include #include "mutt.h" #include "mx.h" @@ -264,7 +241,7 @@ static void mhs_write_one_sequence (FILE * fp, struct mh_sequences *mhs, /* XXX - we don't currently remove deleted messages from sequences we don't know. Should we? */ -void mh_update_sequences (CONTEXT * ctx) +static void mh_update_sequences (CONTEXT * ctx) { FILE *ofp, *nfp; @@ -696,7 +673,6 @@ static int maildir_parse_dir (CONTEXT * ctx, struct maildir ***last, /* FOO - really ignore the return value? */ - debug_print (2, ("parsing %s\n", de->d_name)); maildir_parse_entry (ctx, last, subdir, de->d_name, count, is_old, #if HAVE_DIRENT_D_INO de->d_ino @@ -716,12 +692,7 @@ static int maildir_add_to_context (CONTEXT * ctx, struct maildir *md) while (md) { - debug_print (2, ("considering %s\n", NONULL (md->canon_fname))); - if (md->h) { - debug_print (2, ("flags: %s%s%s%s%s\n", md->h->flagged ? "f" : "", - md->h->deleted ? "D" : "", md->h->replied ? "r" : "", - md->h->old ? "O" : "", md->h->read ? "R" : "")); if (ctx->msgcount == ctx->hdrmax) mx_alloc_memory (ctx); @@ -764,7 +735,7 @@ static ssize_t maildir_hcache_keylen (const char *fn) * This function does the second parsing pass for a maildir-style * folder. */ -void maildir_delayed_parsing (CONTEXT * ctx, struct maildir *md) +static void maildir_delayed_parsing (CONTEXT * ctx, struct maildir *md) { struct maildir *p; char fn[_POSIX_PATH_MAX]; @@ -889,7 +860,7 @@ static int mh_open_new_message (MESSAGE * msg, CONTEXT * dest, HEADER * hdr __at return mh_mkstemp (dest, &msg->fp, &msg->path); } -int ch_compar (const void *a, const void *b) +static int ch_compar (const void *a, const void *b) { return (int) (*((const char *) a) - *((const char *) b)); } @@ -961,17 +932,13 @@ static int maildir_open_new_message (MESSAGE * msg, CONTEXT * dest, HEADER * hdr dest->path, subdir, (long) time (NULL), (unsigned int) getpid (), Counter++, NONULL (Hostname), suffix); - debug_print (2, ("trying %s.\n", path)); - umask (Umask); if ((fd = open (path, O_WRONLY | O_EXCL | O_CREAT, 0666)) == -1) { if (errno != EEXIST) { mutt_perror (path); return -1; } - } - else { - debug_print (2, ("success.\n")); + } else { msg->path = m_strdup(path); break; } @@ -1038,8 +1005,6 @@ static int maildir_commit_message (MESSAGE * msg, CONTEXT * ctx, HEADER * hdr) NONULL (Hostname), suffix); snprintf (full, _POSIX_PATH_MAX, "%s/%s", ctx->path, path); - debug_print (2, ("renaming %s to %s.\n", msg->path, full)); - if (safe_rename (msg->path, full) == 0) { if (hdr) m_strreplace(&hdr->path, path); @@ -1219,7 +1184,7 @@ static int mh_rewrite_message (CONTEXT * ctx, int msgno) h->lines = old_hdr_lines; } - mutt_free_body (&h->content->parts); + body_list_wipe(&h->content->parts); return rc; } @@ -1256,7 +1221,6 @@ static int maildir_sync_message (CONTEXT * ctx, int msgno) char *p; if ((p = strrchr (h->path, '/')) == NULL) { - debug_print (1, ("%s: unable to find subdir!\n", h->path)); return (-1); } p++; @@ -1700,8 +1664,8 @@ static int mh_check_mailbox (CONTEXT * ctx, int *index_hint, int unused __attrib * then again, it's called rarely. */ -FILE *_maildir_open_find_message (const char *folder, const char *unique, - const char *subfolder) +static FILE *_maildir_open_find_message (const char *folder, const char *unique, + const char *subfolder) { char dir[_POSIX_PATH_MAX]; char tunique[_POSIX_PATH_MAX]; @@ -1817,7 +1781,7 @@ static int maildir_check_empty (const char *path) * 0 if there are messages in the mailbox * -1 on error */ -int mh_check_empty (const char *path) +static int mh_check_empty (const char *path) { DIR *dp; struct dirent *de; @@ -1884,15 +1848,6 @@ static int maildir_is_magic (const char* path, struct stat* st) { return (-1); } -/* routines common to maildir and mh */ -static mx_t* reg_mx (void) { - mx_t* fmt = p_new(mx_t, 1); - fmt->local = 1; - fmt->mx_access = access; - fmt->mx_sync_mailbox = mh_sync_mailbox; - return (fmt); -} - static int mh_commit (MESSAGE* msg, CONTEXT* ctx) { return (mh_commit_message (msg, ctx, NULL)); } @@ -1901,26 +1856,32 @@ static int maildir_commit (MESSAGE* msg, CONTEXT* ctx) { return (maildir_commit_message (msg, ctx, NULL)); } -mx_t* mh_reg_mx (void) { - mx_t* fmt = reg_mx (); - fmt->type = M_MH; - fmt->mx_check_empty = mh_check_empty; - fmt->mx_is_magic = mh_is_magic; - fmt->mx_open_mailbox = mh_read_dir; - fmt->mx_open_new_message = mh_open_new_message; - fmt->mx_check_mailbox = mh_check_mailbox; - fmt->mx_commit_message = mh_commit; - return (fmt); -} +mx_t const maildir_mx = { + M_MAILDIR, + 1, + maildir_is_magic, + maildir_check_empty, + access, + maildir_read_dir, + maildir_open_new_message, + NULL, + maildir_check_mailbox, + NULL, + mh_sync_mailbox, + maildir_commit +}; -mx_t* maildir_reg_mx (void) { - mx_t* fmt = reg_mx (); - fmt->type = M_MAILDIR; - fmt->mx_check_empty = maildir_check_empty; - fmt->mx_is_magic = maildir_is_magic; - fmt->mx_open_mailbox = maildir_read_dir; - fmt->mx_open_new_message = maildir_open_new_message; - fmt->mx_check_mailbox = maildir_check_mailbox; - fmt->mx_commit_message = maildir_commit; - return (fmt); -} +mx_t const mh_mx = { + M_MH, + 1, + mh_is_magic, + mh_check_empty, + access, + mh_read_dir, + mh_open_new_message, + NULL, + mh_check_mailbox, + NULL, + mh_sync_mailbox, + mh_commit +};