X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=mbox.c;h=618fbdf672ccad0dfb73689c19500371595abd28;hp=cd171b39af5f5b7cc42f4951a8fe8b0c3245a950;hb=c65e926c6633e7247003bfc8e484a9a2179a5497;hpb=3cb53df6efcb6b137bbab53c16da4eddbc5a1b2b diff --git a/mbox.c b/mbox.c index cd171b3..618fbdf 100644 --- a/mbox.c +++ b/mbox.c @@ -13,11 +13,22 @@ # include "config.h" #endif +#include +#include +#include +#include +#include +#include +#include +#include + #include #include #include #include +#include + #include "mutt.h" #include "mx.h" #include "buffy.h" @@ -27,17 +38,6 @@ #include "copy.h" #include "compress.h" -#include "lib/debug.h" - -#include -#include -#include -#include -#include -#include -#include -#include - /* struct used by mutt_sync_mailbox() to store new offsets */ struct m_update_t { short valid; @@ -48,7 +48,7 @@ struct m_update_t { }; -static int mbox_open_new_message (MESSAGE * msg, CONTEXT * dest, HEADER * hdr) +static int mbox_open_new_message (MESSAGE * msg, CONTEXT * dest, HEADER * hdr __attribute__ ((unused))) { msg->fp = dest->fp; return 0; @@ -97,10 +97,6 @@ static int mmdf_parse_mailbox (CONTEXT * ctx) HEADER *hdr; struct stat sb; -#ifdef NFS_ATTRIBUTE_HACK - struct utimbuf newtime; -#endif - if (stat (ctx->path, &sb) == -1) { mutt_perror (ctx->path); return (-1); @@ -108,14 +104,6 @@ static int mmdf_parse_mailbox (CONTEXT * ctx) ctx->mtime = sb.st_mtime; ctx->size = sb.st_size; -#ifdef NFS_ATTRIBUTE_HACK - if (sb.st_mtime > sb.st_atime) { - newtime.modtime = sb.st_mtime; - newtime.actime = time (NULL); - utime (ctx->path, &newtime); - } -#endif - /* precompute the local timezone to speed up calculation of the received time */ tz = mutt_local_tz (0); @@ -137,13 +125,12 @@ static int mmdf_parse_mailbox (CONTEXT * ctx) if (ctx->msgcount == ctx->hdrmax) mx_alloc_memory (ctx); - ctx->hdrs[ctx->msgcount] = hdr = mutt_new_header (); + ctx->hdrs[ctx->msgcount] = hdr = header_new(); hdr->offset = loc; hdr->index = ctx->msgcount; if (fgets (buf, sizeof (buf) - 1, ctx->fp) == NULL) { /* TODO: memory leak??? */ - debug_print (1, ("unexpected EOF\n")); break; } @@ -151,7 +138,6 @@ static int mmdf_parse_mailbox (CONTEXT * ctx) if (!is_from (buf, return_path, sizeof (return_path), &t)) { if (fseeko (ctx->fp, loc, SEEK_SET) != 0) { - debug_print (1, ("fseeko() failed\n")); mutt_error _("Mailbox is corrupt!"); return (-1); @@ -171,8 +157,7 @@ static int mmdf_parse_mailbox (CONTEXT * ctx) if (fseeko (ctx->fp, tmploc, SEEK_SET) != 0 || fgets (buf, sizeof (buf) - 1, ctx->fp) == NULL || m_strcmp(MMDF_SEP, buf) != 0) { - if (fseeko (ctx->fp, loc, SEEK_SET) != 0) - debug_print (1, ("fseeko() failed\n")); + fseeko (ctx->fp, loc, SEEK_SET); hdr->content->length = -1; } } @@ -205,7 +190,6 @@ static int mmdf_parse_mailbox (CONTEXT * ctx) ctx->msgcount++; } else { - debug_print (1, ("corrupt mailbox!\n")); mutt_error _("Mailbox is corrupt!"); return (-1); @@ -233,10 +217,6 @@ static int mbox_parse_mailbox (CONTEXT * ctx) int count = 0, lines = 0; off_t loc; -#ifdef NFS_ATTRIBUTE_HACK - struct utimbuf newtime; -#endif - /* Save information about the folder at the time we opened it. */ if (stat (ctx->path, &sb) == -1) { mutt_perror (ctx->path); @@ -246,14 +226,6 @@ static int mbox_parse_mailbox (CONTEXT * ctx) ctx->size = sb.st_size; ctx->mtime = sb.st_mtime; -#ifdef NFS_ATTRIBUTE_HACK - if (sb.st_mtime > sb.st_atime) { - newtime.modtime = sb.st_mtime; - newtime.actime = time (NULL); - utime (ctx->path, &newtime); - } -#endif - if (!ctx->readonly) ctx->readonly = access (ctx->path, W_OK) ? 1 : 0; @@ -286,7 +258,7 @@ static int mbox_parse_mailbox (CONTEXT * ctx) if (ctx->msgcount == ctx->hdrmax) mx_alloc_memory (ctx); - curhdr = ctx->hdrs[ctx->msgcount] = mutt_new_header (); + curhdr = ctx->hdrs[ctx->msgcount] = header_new(); curhdr->received = t - tz; curhdr->offset = loc; curhdr->index = ctx->msgcount; @@ -311,12 +283,7 @@ static int mbox_parse_mailbox (CONTEXT * ctx) if (fseeko (ctx->fp, tmploc, SEEK_SET) != 0 || fgets (buf, sizeof (buf), ctx->fp) == NULL || m_strncmp("From ", buf, 5) != 0) { - debug_print (1, ("bad content-length in message %d (cl=%zd)\n", - curhdr->index, curhdr->content->length)); - debug_print (1, ("LINE: %s\n", buf)); - if (fseeko (ctx->fp, loc, SEEK_SET) != 0) { /* nope, return the previous position */ - debug_print (1, ("fseeko() failed\n")); - } + fseeko (ctx->fp, loc, SEEK_SET); /* nope, return the previous position */ curhdr->content->length = -1; } } @@ -335,8 +302,7 @@ static int mbox_parse_mailbox (CONTEXT * ctx) int cl = curhdr->content->length; /* count the number of lines in this message */ - if (fseeko (ctx->fp, loc, SEEK_SET) != 0) - debug_print (1, ("fseeko() failed\n")); + fseeko (ctx->fp, loc, SEEK_SET); while (cl-- > 0) { if (fgetc (ctx->fp) == '\n') curhdr->lines++; @@ -344,8 +310,7 @@ static int mbox_parse_mailbox (CONTEXT * ctx) } /* return to the offset of the next message separator */ - if (fseeko (ctx->fp, tmploc, SEEK_SET) != 0) - debug_print (1, ("fseeko() failed\n")); + fseeko(ctx->fp, tmploc, SEEK_SET); } } @@ -464,13 +429,11 @@ static int _mbox_check_mailbox (CONTEXT * ctx, int *index_hint) * see the message separator at *exactly* what used to be the end of the * folder. */ - if (fseeko (ctx->fp, ctx->size, SEEK_SET) != 0) - debug_print (1, ("fseeko() failed\n")); + fseeko (ctx->fp, ctx->size, SEEK_SET); if (fgets (buffer, sizeof (buffer), ctx->fp) != NULL) { if ((ctx->magic == M_MBOX && m_strncmp("From ", buffer, 5) == 0) || (ctx->magic == M_MMDF && m_strcmp(MMDF_SEP, buffer) == 0)) { - if (fseeko (ctx->fp, ctx->size, SEEK_SET) != 0) - debug_print (1, ("fseeko() failed\n")); + fseeko (ctx->fp, ctx->size, SEEK_SET); if (ctx->magic == M_MBOX) mbox_parse_mailbox (ctx); else @@ -490,14 +453,12 @@ static int _mbox_check_mailbox (CONTEXT * ctx, int *index_hint) } else modified = 1; - } - else { - debug_print (1, ("fgets returned NULL.\n")); + } else { modified = 1; } - } - else + } else { modified = 1; + } } if (modified) { @@ -544,7 +505,7 @@ static int mbox_check_mailbox (CONTEXT* ctx, int* index_hint, int lock) { * 0 success * -1 failure */ -static int _mbox_sync_mailbox (CONTEXT * ctx, int unused, int *index_hint) +static int _mbox_sync_mailbox (CONTEXT * ctx, int unused __attribute__ ((unused)), int *index_hint) { char tempfile[_POSIX_PATH_MAX]; char buf[32]; @@ -626,7 +587,6 @@ static int _mbox_sync_mailbox (CONTEXT * ctx, int unused, int *index_hint) mutt_error _("sync: mbox modified, but no modified messages! (report this bug)"); mutt_sleep (5); /* the mutt_error /will/ get cleared! */ - debug_print (1, ("no modified messages.\n")); unlink (tempfile); goto bail; } @@ -721,7 +681,6 @@ static int _mbox_sync_mailbox (CONTEXT * ctx, int unused, int *index_hint) if (fclose (fp) != 0) { fp = NULL; - debug_print (1, ("fclose() returned non-zero.\n")); unlink (tempfile); mutt_perror (tempfile); mutt_sleep (5); @@ -740,7 +699,6 @@ static int _mbox_sync_mailbox (CONTEXT * ctx, int unused, int *index_hint) if ((fp = fopen (tempfile, "r")) == NULL) { mutt_unblock_signals (); mx_fastclose_mailbox (ctx); - debug_print (1, ("unable to reopen temp copy of mailbox!\n")); mutt_perror (tempfile); mutt_sleep (5); return (-1); @@ -751,16 +709,12 @@ static int _mbox_sync_mailbox (CONTEXT * ctx, int unused, int *index_hint) fgets (buf, sizeof (buf), ctx->fp) == NULL || (ctx->magic == M_MBOX && m_strncmp("From ", buf, 5) != 0) || (ctx->magic == M_MMDF && m_strcmp(MMDF_SEP, buf) != 0)) { - debug_print (1, ("message not in expected position.\n")); - debug_print (1, ("LINE: %s\n", buf)); i = -1; } else { if (fseeko (ctx->fp, offset, SEEK_SET) != 0) { /* return to proper offset */ i = -1; - debug_print (1, ("fseeko() failed\n")); - } - else { + } else { /* copy the temp mailbox back into place starting at the first * change/deleted message */ @@ -930,7 +884,7 @@ static int mbox_reopen_mailbox (CONTEXT * ctx, int *index_hint) p_delete(&ctx->v2r); if (ctx->readonly) { for (i = 0; i < ctx->msgcount; i++) - mutt_free_header (&(ctx->hdrs[i])); /* nothing to do! */ + header_delete(&(ctx->hdrs[i])); /* nothing to do! */ p_delete(&ctx->hdrs); } else { @@ -956,7 +910,6 @@ static int mbox_reopen_mailbox (CONTEXT * ctx, int *index_hint) case M_MBOX: case M_MMDF: if (fseeko (ctx->fp, 0, SEEK_SET) != 0) { - debug_print (1, ("fseeko() failed\n")); rc = -1; } else { @@ -976,7 +929,7 @@ static int mbox_reopen_mailbox (CONTEXT * ctx, int *index_hint) if (rc == -1) { /* free the old headers */ for (j = 0; j < old_msgcount; j++) - mutt_free_header (&(old_hdrs[j])); + header_delete(&(old_hdrs[j])); p_delete(&old_hdrs); ctx->quiet = 0; @@ -1034,14 +987,14 @@ static int mbox_reopen_mailbox (CONTEXT * ctx, int *index_hint) mutt_set_flag (ctx, ctx->hdrs[i], M_TAG, old_hdrs[j]->tagged); /* we don't need this header any more */ - mutt_free_header (&(old_hdrs[j])); + header_delete(&(old_hdrs[j])); } } /* free the remaining old headers */ for (j = 0; j < old_msgcount; j++) { if (old_hdrs[j]) { - mutt_free_header (&(old_hdrs[j])); + header_delete(&(old_hdrs[j])); msg_mod = 1; } } @@ -1113,7 +1066,7 @@ int mbox_is_magic (const char* path, struct stat* st) { return (magic); } -static int commit_message (MESSAGE* msg, CONTEXT* ctx, int mbox) { +static int commit_message (MESSAGE* msg, CONTEXT* ctx __attribute__ ((unused)), int mbox) { if ((mbox && fputc ('\n', msg->fp) == EOF) || (!mbox && fputs (MMDF_SEP, msg->fp) == EOF)) return (-1);