From: Richard Russon Date: Thu, 22 Nov 2018 13:01:49 +0000 (+0000) Subject: factor out Context from mutt_append_message() X-Git-Tag: 2019-10-25~500^2~6 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8b02dde587b6f204c3a05a54f141d695503dc433;p=neomutt factor out Context from mutt_append_message() --- diff --git a/commands.c b/commands.c index ec4cacc54..6c0d76257 100644 --- a/commands.c +++ b/commands.c @@ -846,7 +846,7 @@ int mutt_save_message_ctx(struct Email *e, bool delete, bool decode, if (decode || decrypt) mutt_parse_mime_message(Context->mailbox, e); - rc = mutt_append_message(ctx, Context, e, cmflags, chflags); + rc = mutt_append_message(ctx->mailbox, Context->mailbox, e, cmflags, chflags); if (rc != 0) return rc; diff --git a/copy.c b/copy.c index d7aac7da5..0b0fcedb9 100644 --- a/copy.c +++ b/copy.c @@ -860,14 +860,14 @@ static int append_message(struct Mailbox *dest, FILE *fpin, struct Mailbox *src, * @retval 0 Success * @retval -1 Failure */ -int mutt_append_message(struct Context *dest, struct Context *src, +int mutt_append_message(struct Mailbox *dest, struct Mailbox *src, struct Email *e, int cmflags, 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; - int r = append_message(dest->mailbox, msg->fp, src->mailbox, e, cmflags, chflags); - mx_msg_close(src->mailbox, &msg); + int r = append_message(dest, msg->fp, src, e, cmflags, chflags); + mx_msg_close(src, &msg); return r; } diff --git a/copy.h b/copy.h index a05df1edd..f78791b31 100644 --- a/copy.h +++ b/copy.h @@ -25,8 +25,9 @@ #include -struct Email; struct Context; +struct Email; +struct Mailbox; /**< flags to mutt_copy_message */ #define MUTT_CM_NOHEADER (1 << 0) /**< don't copy the message header */ @@ -74,6 +75,6 @@ int mutt_copy_header(FILE *in, struct Email *e, FILE *out, int flags, const char 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_append_message(struct Context *dest, struct Context *src, struct Email *e, int cmflags, int chflags); +int mutt_append_message(struct Mailbox *dest, struct Mailbox *src, struct Email *e, int cmflags, int chflags); #endif /* MUTT_COPY_H */ diff --git a/editmsg.c b/editmsg.c index bf6b0cf63..fc090f665 100644 --- a/editmsg.c +++ b/editmsg.c @@ -96,7 +96,7 @@ static int edit_or_view_one_message(bool edit, struct Context *ctx, struct Email const int chflags = CH_NOLEN | ((ctx->mailbox->magic == MUTT_MBOX || ctx->mailbox->magic == MUTT_MMDF) ? 0 : CH_NOSTATUS); - rc = mutt_append_message(tmpctx, ctx, cur, 0, chflags); + rc = mutt_append_message(tmpctx->mailbox, ctx->mailbox, cur, 0, chflags); oerrno = errno; mx_mbox_close(&tmpctx, NULL); diff --git a/mx.c b/mx.c index 9a05e1657..5428d4274 100644 --- a/mx.c +++ b/mx.c @@ -527,7 +527,7 @@ static int trash_append(struct Context *ctx) { if (m->hdrs[i]->deleted && (!m->hdrs[i]->purge)) { - if (mutt_append_message(ctx_trash, ctx, m->hdrs[i], 0, 0) == -1) + if (mutt_append_message(ctx_trash->mailbox, m, m->hdrs[i], 0, 0) == -1) { mx_mbox_close(&ctx_trash, NULL); return -1; @@ -702,7 +702,7 @@ int mx_mbox_close(struct Context **pctx, int *index_hint) { if (m->hdrs[i]->read && !m->hdrs[i]->deleted && !(m->hdrs[i]->flagged && KeepFlagged)) { - if (mutt_append_message(f, ctx, m->hdrs[i], 0, CH_UPDATE_LEN) == 0) + if (mutt_append_message(f->mailbox, ctx->mailbox, m->hdrs[i], 0, CH_UPDATE_LEN) == 0) { mutt_set_flag(m, m->hdrs[i], MUTT_DELETE, 1); mutt_set_flag(m, m->hdrs[i], MUTT_PURGE, 1);