X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-mx%2Fmx.c;h=b58a621eed1a23af81b091eeb1bc8354a2e4fcf3;hp=bd031179940dbf72542c05569294e66d91c9ea3b;hb=388148b48fedd8007192a5f94cf0bad89c65227b;hpb=3766db5f849cea008b1cd3d532c712aeb17aa062 diff --git a/lib-mx/mx.c b/lib-mx/mx.c index bd03117..b58a621 100644 --- a/lib-mx/mx.c +++ b/lib-mx/mx.c @@ -12,11 +12,14 @@ #include +#include #include #include #include #include "mutt.h" +#include "crypt.h" +#include "pattern.h" #include "buffy.h" #include "mx.h" #include "mbox.h" @@ -35,8 +38,6 @@ #include #endif -#include - static mx_t const *mxfmts[] = { &mbox_mx, &mmdf_mx, @@ -60,23 +61,22 @@ static mx_t const *mxfmts[] = { static int invoke_dotlock (const char *path, int flags, int retry) { char cmd[LONG_STRING + _POSIX_PATH_MAX]; - char f[SHORT_STRING + _POSIX_PATH_MAX]; - char r[SHORT_STRING]; + char f[STRING + _POSIX_PATH_MAX]; + char r[STRING]; if (flags & DL_FL_RETRY) snprintf (r, sizeof (r), "-r %d ", retry ? MAXLOCKATTEMPT : 0); mutt_quote_filename (f, sizeof (f), path); - snprintf (cmd, sizeof (cmd), - "%s %s%s%s%s%s%s%s", - NONULL (MuttDotlock), - flags & DL_FL_TRY ? "-t " : "", - flags & DL_FL_UNLOCK ? "-u " : "", - flags & DL_FL_USEPRIV ? "-p " : "", - flags & DL_FL_FORCE ? "-f " : "", - flags & DL_FL_UNLINK ? "-d " : "", - flags & DL_FL_RETRY ? r : "", f); + snprintf(cmd, sizeof(cmd), "%s %s%s%s%s%s%s%s", + MCore.dotlock, + flags & DL_FL_TRY ? "-t " : "", + flags & DL_FL_UNLOCK ? "-u " : "", + flags & DL_FL_USEPRIV ? "-p " : "", + flags & DL_FL_FORCE ? "-f " : "", + flags & DL_FL_UNLINK ? "-d " : "", + flags & DL_FL_RETRY ? r : "", f); return mutt_system (cmd); } @@ -552,9 +552,9 @@ void mx_fastclose_mailbox (CONTEXT * ctx) if (MX_IDX(ctx->magic-1) && mxfmts[ctx->magic-1]->mx_fastclose_mailbox) mxfmts[ctx->magic-1]->mx_fastclose_mailbox(ctx); if (ctx->subj_hash) - hash_destroy (&ctx->subj_hash, NULL); + hash_delete (&ctx->subj_hash, NULL); if (ctx->id_hash) - hash_destroy (&ctx->id_hash, NULL); + hash_delete (&ctx->id_hash, NULL); mutt_clear_threads (ctx); for (i = 0; i < ctx->msgcount; i++) header_delete(&ctx->hdrs[i]); @@ -566,8 +566,7 @@ void mx_fastclose_mailbox (CONTEXT * ctx) p_delete(&ctx->path); p_delete(&ctx->pattern); - if (ctx->limit_pattern) - mutt_pattern_free (&ctx->limit_pattern); + pattern_list_wipe(&ctx->limit_pattern); m_fclose(&ctx->fp); p_clear(ctx, 1); } @@ -644,7 +643,7 @@ static int _mx_close_mailbox (CONTEXT * ctx, int *index_hint) int isSpool = 0; CONTEXT f; char mbox[_POSIX_PATH_MAX]; - char buf[SHORT_STRING]; + char buf[STRING]; if (!ctx) return 0; @@ -907,10 +906,10 @@ void mx_update_tables (CONTEXT * ctx, int committing) ctx->hdrs[i]->content->hdr_offset); /* remove message from the hash tables */ if (ctx->subj_hash && ctx->hdrs[i]->env->real_subj) - hash_delete (ctx->subj_hash, ctx->hdrs[i]->env->real_subj, + hash_remove (ctx->subj_hash, ctx->hdrs[i]->env->real_subj, ctx->hdrs[i], NULL); if (ctx->id_hash && ctx->hdrs[i]->env->message_id) - hash_delete (ctx->id_hash, ctx->hdrs[i]->env->message_id, + hash_remove (ctx->id_hash, ctx->hdrs[i]->env->message_id, ctx->hdrs[i], NULL); header_delete(&ctx->hdrs[i]); } @@ -960,7 +959,7 @@ static int _mx_sync_mailbox (CONTEXT * ctx, int *index_hint) } if (ctx->deleted) { - char buf[SHORT_STRING]; + char buf[STRING]; snprintf (buf, sizeof (buf), ctx->deleted == 1 ? _("Purge %d deleted message?") : @@ -1081,7 +1080,7 @@ MESSAGE *mx_open_new_message (CONTEXT * dest, HEADER * hdr, int flags) p = hdr->env->from; } - fprintf (msg->fp, "From %s %s", p ? p->mailbox : NONULL (Username), + fprintf (msg->fp, "From %s %s", p ? p->mailbox : NONULL(MCore.username), ctime (&msg->received)); } } @@ -1270,10 +1269,10 @@ void mx_update_context (CONTEXT * ctx, int new_messages) /* add this message to the hash tables */ if (ctx->id_hash && h->env->message_id) - hash_insert (ctx->id_hash, h->env->message_id, h, 0); + hash_insert (ctx->id_hash, h->env->message_id, h); if (!ctx->counting) { if (ctx->subj_hash && h->env->real_subj) - hash_insert (ctx->subj_hash, h->env->real_subj, h, 1); + hash_insert (ctx->subj_hash, h->env->real_subj, h); if (option (OPTSCORE)) mutt_score_message (ctx, h, 0);