From: Richard Russon Date: Thu, 22 Nov 2018 13:11:12 +0000 (+0000) Subject: factor out Context from mutt_copy_message_ctx() X-Git-Tag: 2019-10-25~500^2~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=12b790dd0f02750057abc6bd3b49f1ac7d36deeb;p=neomutt factor out Context from mutt_copy_message_ctx() --- diff --git a/commands.c b/commands.c index 6c0d76257..9746ded7b 100644 --- a/commands.c +++ b/commands.c @@ -185,7 +185,7 @@ int mutt_display_message(struct Email *cur) if (Context->mailbox->magic == MUTT_NOTMUCH) chflags |= CH_VIRTUAL; #endif - res = mutt_copy_message_ctx(fpout, Context, cur, cmflags, chflags); + res = mutt_copy_message_ctx(fpout, Context->mailbox, cur, cmflags, chflags); if ((mutt_file_fclose(&fpout) != 0 && errno != EPIPE) || res < 0) { @@ -426,7 +426,7 @@ static void pipe_msg(struct Email *e, FILE *fp, bool decode, bool print) if (decode) mutt_parse_mime_message(Context->mailbox, e); - mutt_copy_message_ctx(fp, Context, e, cmflags, chflags); + mutt_copy_message_ctx(fp, Context->mailbox, e, cmflags, chflags); } /** diff --git a/copy.c b/copy.c index 0b0fcedb9..419750893 100644 --- a/copy.c +++ b/copy.c @@ -789,10 +789,10 @@ int mutt_copy_message_fp(FILE *fpout, FILE *fpin, struct Email *e, int flags, in * should be made to return -1 on fatal errors, and 1 on non-fatal errors * like partial decode, where it is worth displaying as much as possible */ -int mutt_copy_message_ctx(FILE *fpout, struct Context *src, struct Email *e, +int mutt_copy_message_ctx(FILE *fpout, struct Mailbox *src, struct Email *e, int flags, int chflags) { - struct Message *msg = mx_msg_open(src->mailbox, e->msgno); + struct Message *msg = mx_msg_open(src, e->msgno); if (!msg) return -1; if (!e->content) @@ -803,7 +803,7 @@ int mutt_copy_message_ctx(FILE *fpout, struct Context *src, struct Email *e, mutt_debug(1, "failed to detect EOF!\n"); r = -1; } - mx_msg_close(src->mailbox, &msg); + mx_msg_close(src, &msg); return r; } diff --git a/copy.h b/copy.h index f78791b31..fd4cca895 100644 --- a/copy.h +++ b/copy.h @@ -25,7 +25,6 @@ #include -struct Context; struct Email; struct Mailbox; @@ -73,7 +72,7 @@ int mutt_copy_hdr(FILE *in, FILE *out, LOFF_T off_start, LOFF_T off_end, int mutt_copy_header(FILE *in, struct Email *e, FILE *out, int flags, const char *prefix); int mutt_copy_message_fp (FILE *fpout, FILE *fpin, struct Email *e, int flags, int chflags); -int mutt_copy_message_ctx(FILE *fpout, struct Context *src, struct Email *e, int flags, int chflags); +int mutt_copy_message_ctx(FILE *fpout, struct Mailbox *src, struct Email *e, int flags, int chflags); int mutt_append_message(struct Mailbox *dest, struct Mailbox *src, struct Email *e, int cmflags, int chflags); diff --git a/maildir/mh.c b/maildir/mh.c index 54472ffe7..189850941 100644 --- a/maildir/mh.c +++ b/maildir/mh.c @@ -1560,7 +1560,7 @@ static int mh_rewrite_message(struct Context *ctx, int msgno) if (!dest) return -1; - int rc = mutt_copy_message_ctx(dest->fp, ctx, e, MUTT_CM_UPDATE, CH_UPDATE | CH_UPDATE_LEN); + int rc = mutt_copy_message_ctx(dest->fp, ctx->mailbox, e, MUTT_CM_UPDATE, CH_UPDATE | CH_UPDATE_LEN); if (rc == 0) { char oldpath[PATH_MAX]; diff --git a/mbox/mbox.c b/mbox/mbox.c index b82a22045..4060e83d9 100644 --- a/mbox/mbox.c +++ b/mbox/mbox.c @@ -1308,7 +1308,7 @@ static int mbox_mbox_sync(struct Context *ctx, int *index_hint) */ new_offset[i - first].hdr = ftello(fp) + offset; - if (mutt_copy_message_ctx(fp, ctx, m->hdrs[i], MUTT_CM_UPDATE, + if (mutt_copy_message_ctx(fp, ctx->mailbox, m->hdrs[i], MUTT_CM_UPDATE, CH_FROM | CH_UPDATE | CH_UPDATE_LEN) != 0) { mutt_perror(tempfile); diff --git a/ncrypt/crypt.c b/ncrypt/crypt.c index 7e9ada17b..2adb65e79 100644 --- a/ncrypt/crypt.c +++ b/ncrypt/crypt.c @@ -843,7 +843,7 @@ void crypt_extract_keys_from_messages(struct Email *e) if (((WithCrypto & APPLICATION_PGP) != 0) && (ei->security & APPLICATION_PGP)) { - mutt_copy_message_ctx(fpout, Context, ei, MUTT_CM_DECODE | MUTT_CM_CHARCONV, 0); + mutt_copy_message_ctx(fpout, Context->mailbox, ei, MUTT_CM_DECODE | MUTT_CM_CHARCONV, 0); fflush(fpout); mutt_endwin(); @@ -855,12 +855,12 @@ void crypt_extract_keys_from_messages(struct Email *e) { if (ei->security & ENCRYPT) { - mutt_copy_message_ctx(fpout, Context, ei, + mutt_copy_message_ctx(fpout, Context->mailbox, ei, MUTT_CM_NOHEADER | MUTT_CM_DECODE_CRYPT | MUTT_CM_DECODE_SMIME, 0); } else - mutt_copy_message_ctx(fpout, Context, ei, 0, 0); + mutt_copy_message_ctx(fpout, Context->mailbox, ei, 0, 0); fflush(fpout); if (ei->env->from) @@ -887,7 +887,7 @@ void crypt_extract_keys_from_messages(struct Email *e) { if (((WithCrypto & APPLICATION_PGP) != 0) && (e->security & APPLICATION_PGP)) { - mutt_copy_message_ctx(fpout, Context, e, MUTT_CM_DECODE | MUTT_CM_CHARCONV, 0); + mutt_copy_message_ctx(fpout, Context->mailbox, e, MUTT_CM_DECODE | MUTT_CM_CHARCONV, 0); fflush(fpout); mutt_endwin(); puts(_("Trying to extract PGP keys...\n")); @@ -898,12 +898,12 @@ void crypt_extract_keys_from_messages(struct Email *e) { if (e->security & ENCRYPT) { - mutt_copy_message_ctx(fpout, Context, e, + mutt_copy_message_ctx(fpout, Context->mailbox, e, MUTT_CM_NOHEADER | MUTT_CM_DECODE_CRYPT | MUTT_CM_DECODE_SMIME, 0); } else - mutt_copy_message_ctx(fpout, Context, e, 0, 0); + mutt_copy_message_ctx(fpout, Context->mailbox, e, 0, 0); fflush(fpout); if (e->env->from) diff --git a/ncrypt/smime.c b/ncrypt/smime.c index b3d51319e..c5887e347 100644 --- a/ncrypt/smime.c +++ b/ncrypt/smime.c @@ -40,6 +40,7 @@ #include "email/lib.h" #include "mutt.h" #include "alias.h" +#include "context.h" #include "copy.h" #include "crypt.h" #include "cryptglue.h" @@ -1438,11 +1439,11 @@ int smime_class_verify_sender(struct Email *e) if (e->security & ENCRYPT) { - mutt_copy_message_ctx(fpout, Context, e, MUTT_CM_DECODE_CRYPT & MUTT_CM_DECODE_SMIME, + mutt_copy_message_ctx(fpout, Context->mailbox, e, MUTT_CM_DECODE_CRYPT & MUTT_CM_DECODE_SMIME, CH_MIME | CH_WEED | CH_NONEWLINE); } else - mutt_copy_message_ctx(fpout, Context, e, 0, 0); + mutt_copy_message_ctx(fpout, Context->mailbox, e, 0, 0); fflush(fpout); mutt_file_fclose(&fpout); diff --git a/send.c b/send.c index 3838d8a6f..0057fe75e 100644 --- a/send.c +++ b/send.c @@ -565,7 +565,7 @@ static int include_forward(struct Context *ctx, struct Email *cur, FILE *out) * rather than send action */ chflags |= CH_DISPLAY; - mutt_copy_message_ctx(out, ctx, cur, cmflags, chflags); + mutt_copy_message_ctx(out, ctx->mailbox, cur, cmflags, chflags); mutt_forward_trailer(ctx, cur, out); return 0; } @@ -639,7 +639,7 @@ static int include_reply(struct Context *ctx, struct Email *cur, FILE *out) cmflags |= MUTT_CM_WEED; } - mutt_copy_message_ctx(out, ctx, cur, cmflags, chflags); + mutt_copy_message_ctx(out, ctx->mailbox, cur, cmflags, chflags); mutt_make_post_indent(ctx, cur, out); diff --git a/sendlib.c b/sendlib.c index 1eeb64e60..ea1658f0d 100644 --- a/sendlib.c +++ b/sendlib.c @@ -1521,7 +1521,7 @@ struct Body *mutt_make_message_attach(struct Context *ctx, struct Email *e, bool } } - mutt_copy_message_ctx(fp, ctx, e, cmflags, chflags); + mutt_copy_message_ctx(fp, ctx->mailbox, e, cmflags, chflags); fflush(fp); rewind(fp);