X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=commands.c;h=cde830db53ae209d8e32d810cc154f0749edf1f1;hp=cf56023a22a374fbdfbbfb0e373942b827c37ebf;hb=cc8910fb496d58eb30e116d06a0a01dde4dc944c;hpb=c8e9242de36d7aa6e3bb2e446f57ef2a14e4c889 diff --git a/commands.c b/commands.c index cf56023..cde830d 100644 --- a/commands.c +++ b/commands.c @@ -42,7 +42,6 @@ static char LastSaveFolder[_POSIX_PATH_MAX] = ""; int mutt_display_message (HEADER * cur) { char tempfile[_POSIX_PATH_MAX], buf[LONG_STRING]; - int rc = 0, builtin = 0; int cmflags = M_CM_DECODE | M_CM_DISPLAY | M_CM_CHARCONV; FILE *fpout = NULL; FILE *fpfilterout = NULL; @@ -56,7 +55,7 @@ int mutt_display_message (HEADER * cur) mutt_parse_mime_message (Context, cur); mutt_message_hook (Context, cur, M_MESSAGEHOOK); - fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL); + fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(mod_core.tmpdir), NULL); if (!fpout) { mutt_error _("Could not create temporary file!"); return 0; @@ -76,14 +75,6 @@ int mutt_display_message (HEADER * cur) } } - if (!Pager || m_strcmp(Pager, "builtin") == 0) - builtin = 1; - else { - mutt_make_string (buf, sizeof (buf), NONULL (PagerFmt), Context, cur); - fputs (buf, fpout); - fputs ("\n\n", fpout); - } - msg = mx_open_message (Context, cur->msgno); if (msg == NULL) res = -1; @@ -95,7 +86,7 @@ int mutt_display_message (HEADER * cur) } else if (cur->security & SIGN) { /* find out whether or not the verify signature */ - if (query_quadoption (OPT_VERIFYSIG, _("Verify PGP signature?")) == + if (query_quadoption2(mod_crypt.verify_sig, _("Verify PGP signature?")) == M_YES) { cmflags |= M_CM_VERIFY; } @@ -138,59 +129,38 @@ int mutt_display_message (HEADER * cur) are color patterns for both ~g and ~V */ cur->pair = 0; - if (builtin) { - pager_t info; - - if ((cur->security & APPLICATION_SMIME) && (cmflags & M_CM_VERIFY)) { - if (cur->security & GOODSIGN) { - if (!crypt_smime_verify_sender (cur)) - mutt_message (_("S/MIME signature successfully verified.")); - else - mutt_error (_("S/MIME certificate owner does not match sender.")); - } - else if (cur->security & PARTSIGN) - mutt_message (_ - ("Warning: Part of this message has not been signed.")); - else if (cur->security & SIGN || cur->security & BADSIGN) - mutt_error (_("S/MIME signature could NOT be verified.")); + if ((cur->security & APPLICATION_SMIME) && (cmflags & M_CM_VERIFY)) { + if (cur->security & GOODSIGN) { + if (!crypt_smime_verify_sender (cur)) + mutt_message (_("S/MIME signature successfully verified.")); + else + mutt_error (_("S/MIME certificate owner does not match sender.")); } + else if (cur->security & PARTSIGN) + mutt_message (_ + ("Warning: Part of this message has not been signed.")); + else if (cur->security & SIGN || cur->security & BADSIGN) + mutt_error (_("S/MIME signature could NOT be verified.")); + } - if ((cur->security & APPLICATION_PGP) && (cmflags & M_CM_VERIFY)) { - if (cur->security & GOODSIGN) - mutt_message (_("PGP signature successfully verified.")); - else if (cur->security & PARTSIGN) - mutt_message (_ - ("Warning: Part of this message has not been signed.")); - else if (cur->security & SIGN) - mutt_message (_("PGP signature could NOT be verified.")); - } + if ((cur->security & APPLICATION_PGP) && (cmflags & M_CM_VERIFY)) { + if (cur->security & GOODSIGN) + mutt_message (_("PGP signature successfully verified.")); + else if (cur->security & PARTSIGN) + mutt_message (_ + ("Warning: Part of this message has not been signed.")); + else if (cur->security & SIGN) + mutt_message (_("PGP signature could NOT be verified.")); + } + + { + pager_t info; - /* Invoke the builtin pager */ p_clear(&info, 1); info.hdr = cur; info.ctx = Context; - rc = mutt_pager (NULL, tempfile, M_PAGER_MESSAGE, &info); - } - else { - int r; - - mutt_endwin (NULL); - snprintf (buf, sizeof (buf), "%s %s", NONULL (Pager), tempfile); - if ((r = mutt_system (buf)) == -1) - mutt_error (_("Error running \"%s\"!"), buf); - unlink (tempfile); - keypad (stdscr, TRUE); - if (r != -1) - mutt_set_flag (Context, cur, M_READ, 1); - if (r != -1 && option (OPTPROMPTAFTER)) { - mutt_ungetch (mutt_any_key_to_continue _("Command: "), 0); - rc = km_dokey (MENU_PAGER); - } - else - rc = 0; + return mutt_pager (NULL, tempfile, M_PAGER_MESSAGE, &info); } - - return rc; } void ci_bounce_message (HEADER * h, int *redraw) @@ -234,11 +204,11 @@ void ci_bounce_message (HEADER * h, int *redraw) buf[0] = 0; rfc822_addrcat(buf, sizeof (buf), adr, 1); -#define extra_space (15 + 7 + 2) snprintf (prompt, sizeof (prompt), (h ? _("Bounce message to %s") : _("Bounce messages to %s")), buf); +#define extra_space (15 + 7 + 2) if (m_strwidth(prompt) > COLS - extra_space) { mutt_format_string(prompt, sizeof(prompt), 0, COLS - extra_space, 0, 0, prompt, sizeof(prompt), 0); @@ -246,6 +216,7 @@ void ci_bounce_message (HEADER * h, int *redraw) } else { m_strcat(prompt, sizeof(prompt), "?"); } +#undef extra_space if (query_quadoption (OPT_BOUNCE, prompt) != M_YES) { address_list_wipe(&adr); @@ -263,29 +234,23 @@ void ci_bounce_message (HEADER * h, int *redraw) mutt_message (h ? _("Message bounced.") : _("Messages bounced.")); } -static void pipe_set_flags (int decode, int print, int *cmflags, int *chflags) +static void pipe_msg (HEADER * h, FILE * fp, int decode, int print) { + int cmflags = 0; + int chflags = CH_FROM; + if (decode) { - *cmflags |= M_CM_DECODE | M_CM_CHARCONV; - *chflags |= CH_DECODE | CH_REORDER; + cmflags |= M_CM_DECODE | M_CM_CHARCONV; + chflags |= CH_DECODE | CH_REORDER; - if (option (OPTWEED)) { - *chflags |= CH_WEED; - *cmflags |= M_CM_WEED; + if (option(OPTWEED)) { + chflags |= CH_WEED; + cmflags |= M_CM_WEED; } } if (print) - *cmflags |= M_CM_PRINTING; - -} - -static void pipe_msg (HEADER * h, FILE * fp, int decode, int print) -{ - int cmflags = 0; - int chflags = CH_FROM; - - pipe_set_flags (decode, print, &cmflags, &chflags); + cmflags |= M_CM_PRINTING; if (decode && h->security & ENCRYPT) { endwin (); @@ -297,9 +262,7 @@ static void pipe_msg (HEADER * h, FILE * fp, int decode, int print) mutt_copy_message (fp, Context, h, cmflags, chflags); } - /* the following code is shared between printing and piping */ - static int _mutt_pipe_message(HEADER * h, char *cmd, int decode, int print, int split, const char *sep) { @@ -499,7 +462,7 @@ void mutt_shell_escape (void) buf[0] = 0; if (mutt_get_field (_("Shell command: "), buf, sizeof (buf), M_CMD) == 0) { if (!buf[0]) - m_strcpy(buf, sizeof(buf), MCore.shell); + m_strcpy(buf, sizeof(buf), mod_core.shell); if (buf[0]) { CLEARLINE (LINES - 1); mutt_endwin (NULL); @@ -729,7 +692,7 @@ int mutt_save_message (HEADER * h, int delete, } } - need_buffy_cleanup = (ctx.magic == M_MBOX || ctx.magic == M_MMDF); + need_buffy_cleanup = (ctx.magic == M_MBOX); mx_close_mailbox (&ctx, NULL); @@ -846,42 +809,3 @@ void mutt_edit_content_type (HEADER * h, BODY * b, FILE * fp) } -static int _mutt_check_traditional_pgp (HEADER * h, int *redraw) -{ - MESSAGE *msg; - int rv = 0; - - h->security |= PGP_TRADITIONAL_CHECKED; - - mutt_parse_mime_message (Context, h); - if ((msg = mx_open_message (Context, h->msgno)) == NULL) - return 0; - if (crypt_pgp_check_traditional (msg->fp, h->content, 0)) { - h->security = crypt_query (h->content); - *redraw |= REDRAW_FULL; - rv = 1; - } - - h->security |= PGP_TRADITIONAL_CHECKED; - mx_close_message (&msg); - return rv; -} - -int mutt_check_traditional_pgp (HEADER * h, int *redraw) -{ - int i; - int rv = 0; - - if (h && !(h->security & PGP_TRADITIONAL_CHECKED)) - rv = _mutt_check_traditional_pgp (h, redraw); - else { - for (i = 0; i < Context->vcount; i++) - if (Context->hdrs[Context->v2r[i]]->tagged && - !(Context->hdrs[Context->v2r[i]]-> - security & PGP_TRADITIONAL_CHECKED)) - rv = - _mutt_check_traditional_pgp (Context->hdrs[Context->v2r[i]], redraw) - || rv; - } - return rv; -}