From: Richard Russon Date: Fri, 19 Jul 2019 10:54:11 +0000 (+0100) Subject: refactor: Mailbox in mutt_display_message() X-Git-Tag: 2019-10-25~120^2~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8347a259eca1eb9dcedcd65f57b161dfadfd940f;p=neomutt refactor: Mailbox in mutt_display_message() Pass the Mailbox into mutt_display_message() rather than relying on Context->mailbox. --- diff --git a/commands.c b/commands.c index 3f5f79e05..0fe02aa51 100644 --- a/commands.c +++ b/commands.c @@ -172,11 +172,12 @@ static void update_protected_headers(struct Email *e) /** * mutt_display_message - Display a message in the pager + * @param m Mailbox * @param e Email to display * @retval 0 Success * @retval -1 Error */ -int mutt_display_message(struct Email *e) +int mutt_display_message(struct Mailbox *m, struct Email *e) { char tempfile[PATH_MAX], buf[1024]; int rc = 0; @@ -188,8 +189,8 @@ int mutt_display_message(struct Email *e) snprintf(buf, sizeof(buf), "%s/%s", TYPE(e->content), e->content->subtype); - mutt_parse_mime_message(Context->mailbox, e); - mutt_message_hook(Context->mailbox, e, MUTT_MESSAGE_HOOK); + mutt_parse_mime_message(m, e); + mutt_message_hook(m, e, MUTT_MESSAGE_HOOK); /* see if crypto is needed for this message. if so, we should exit curses */ if ((WithCrypto != 0) && e->security) @@ -258,7 +259,7 @@ int mutt_display_message(struct Email *e) { struct HdrFormatInfo hfi; hfi.ctx = Context; - hfi.mailbox = Context->mailbox; + hfi.mailbox = m; hfi.pager_progress = ExtPagerProgress; hfi.email = e; mutt_make_string_info(buf, sizeof(buf), MuttIndexWindow->cols, @@ -269,10 +270,10 @@ int mutt_display_message(struct Email *e) chflags = (C_Weed ? (CH_WEED | CH_REORDER) : CH_NO_FLAGS) | CH_DECODE | CH_FROM | CH_DISPLAY; #ifdef USE_NOTMUCH - if (Context->mailbox->magic == MUTT_NOTMUCH) + if (m->magic == MUTT_NOTMUCH) chflags |= CH_VIRTUAL; #endif - res = mutt_copy_message(fp_out, Context->mailbox, e, cmflags, chflags); + res = mutt_copy_message(fp_out, m, e, cmflags, chflags); if (((mutt_file_fclose(&fp_out) != 0) && (errno != EPIPE)) || (res < 0)) { @@ -311,7 +312,7 @@ int mutt_display_message(struct Email *e) { if (e->security & SEC_GOODSIGN) { - if (crypt_smime_verify_sender(Context->mailbox, e) == 0) + if (crypt_smime_verify_sender(m, e) == 0) mutt_message(_("S/MIME signature successfully verified")); else mutt_error(_("S/MIME certificate owner does not match sender")); @@ -352,7 +353,7 @@ int mutt_display_message(struct Email *e) if (!OptNoCurses) keypad(stdscr, true); if (r != -1) - mutt_set_flag(Context->mailbox, e, MUTT_READ, true); + mutt_set_flag(m, e, MUTT_READ, true); if ((r != -1) && C_PromptAfter) { mutt_unget_event(mutt_any_key_to_continue(_("Command: ")), 0); diff --git a/commands.h b/commands.h index e0d5c62a8..eba104e09 100644 --- a/commands.h +++ b/commands.h @@ -47,7 +47,7 @@ void ci_bounce_message(struct Mailbox *m, struct EmailList *el); void mutt_check_stats(void); bool mutt_check_traditional_pgp(struct EmailList *el, MuttRedrawFlags *redraw); void mutt_display_address(struct Envelope *env); -int mutt_display_message(struct Email *e); +int mutt_display_message(struct Mailbox *m, struct Email *e); bool mutt_edit_content_type(struct Email *e, struct Body *b, FILE *fp); void mutt_enter_command(void); void mutt_pipe_message(struct Mailbox *m, struct EmailList *el); diff --git a/index.c b/index.c index 30157b5c1..702a0f422 100644 --- a/index.c +++ b/index.c @@ -2354,7 +2354,7 @@ int mutt_index_menu(void) * set CurrentMenu incorrectly when we return back to the index menu. */ menu->menu = MENU_MAIN; - op = mutt_display_message(CUR_EMAIL); + op = mutt_display_message(Context->mailbox, CUR_EMAIL); if (op < 0) { OptNeedResort = false;