X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=commands.c;h=f15ca1c5e8632b331028766a3703bbf791c90a44;hp=8e247187383ddf4c8667bef350811260dc8c4024;hb=370334f0cfae3a5a9fe49b40df22e6753a87ac80;hpb=1951199b744b2104bf7fe60effe5dd0f455aee9c diff --git a/commands.c b/commands.c index 8e24718..f15ca1c 100644 --- a/commands.c +++ b/commands.c @@ -17,8 +17,7 @@ #include #include -#include -#include +#include #include #include @@ -55,7 +54,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; @@ -64,7 +63,6 @@ int mutt_display_message (HEADER * cur) if (DisplayFilter && *DisplayFilter) { fpfilterout = fpout; fpout = NULL; - /* mutt_endwin (NULL); */ filterpid = mutt_create_filter_fd (DisplayFilter, &fpout, NULL, NULL, -1, fileno (fpfilterout), -1); if (filterpid < 0) { @@ -93,10 +91,6 @@ int mutt_display_message (HEADER * cur) } } - if (cmflags & M_CM_VERIFY || cur->security & ENCRYPT) { - crypt_invoke_message(cur->security); - } - res = _mutt_copy_message (fpout, msg->fp, cur, cur->content, cmflags, (option (OPTWEED) ? (CH_WEED | CH_REORDER) : 0) | CH_DECODE | CH_FROM); @@ -204,28 +198,27 @@ 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); - if (m_strwidth(prompt) > COLS - extra_space) { - mutt_format_string(prompt, sizeof(prompt), 0, COLS - extra_space, 0, 0, - prompt, sizeof(prompt), 0); +#define extra_space (15 + 7 + 2) + if (m_strwidth(prompt) > getmaxx(main_w) - extra_space) { + mutt_format_string(prompt, sizeof(prompt), 0, + getmaxx(main_w) - extra_space, 0, 0, prompt, + sizeof(prompt), 0); m_strcat(prompt, sizeof(prompt), "...?"); } else { m_strcat(prompt, sizeof(prompt), "?"); } +#undef extra_space if (query_quadoption (OPT_BOUNCE, prompt) != M_YES) { address_list_wipe(&adr); - CLEARLINE (LINES - 1); mutt_message (h ? _("Message not bounced.") : _("Messages not bounced.")); return; } - CLEARLINE (LINES - 1); - rc = mutt_bounce_message (NULL, h, adr); address_list_wipe(&adr); /* If no error, or background, display message. */ @@ -233,29 +226,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 (); @@ -267,9 +254,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) { @@ -278,14 +263,7 @@ static int _mutt_pipe_message(HEADER * h, char *cmd, int decode, int print, pid_t thepid; FILE *fpout; -/* mutt_endwin (NULL); - - is this really needed here ? - it makes the screen flicker on pgp and s/mime messages, - before asking for a passphrase... - Oliver Ehli */ if (h) { - mutt_message_hook (Context, h, M_MESSAGEHOOK); if (decode) { @@ -302,9 +280,7 @@ static int _mutt_pipe_message(HEADER * h, char *cmd, int decode, int print, pipe_msg (h, fpout, decode, print); m_fclose(&fpout); rc = mutt_wait_filter (thepid); - } - else { /* handle tagged messages */ - + } else { /* handle tagged messages */ if (decode) { for (i = 0; i < Context->vcount; i++) if (Context->hdrs[Context->v2r[i]]->tagged) { @@ -334,8 +310,7 @@ static int _mutt_pipe_message(HEADER * h, char *cmd, int decode, int print, rc = 1; } } - } - else { + } else { mutt_endwin (NULL); if ((thepid = mutt_create_filter (cmd, &fpout, NULL, NULL)) < 0) { mutt_perror (_("Can't create filter process")); @@ -458,7 +433,7 @@ int mutt_select_sort (int reverse) if (reverse) Sort |= SORT_REVERSE; - return (Sort != method ? 0 : -1); /* no need to resort if it's the same */ + return Sort != method ? 0 : -1; /* no need to resort if it's the same */ } /* invoke a command in a subshell */ @@ -469,9 +444,8 @@ 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); fflush (stdout); if (mutt_system (buf) != 0 || option (OPTWAITKEY)) @@ -583,7 +557,7 @@ int _mutt_save_message (HEADER * h, CONTEXT * ctx, int delete, int decode, mutt_set_flag (Context, h, M_TAG, 0); mutt_set_flag (Context, h, M_APPENDED, 1); } - return (0); + return 0; } /* returns 0 if the copy/save was successful, or -1 on error/abort */ @@ -636,7 +610,7 @@ int mutt_save_message (HEADER * h, int delete, mutt_pretty_mailbox (buf); if (mutt_enter_fname (prompt, buf, sizeof (buf), redraw, 0) == -1) - return (-1); + return -1; if (*redraw != REDRAW_FULL) { if (!h) @@ -646,7 +620,7 @@ int mutt_save_message (HEADER * h, int delete, } if (!buf[0]) - return (-1); + return -1; /* This is an undocumented feature of ELM pointed out to me by Felix von * Leitner @@ -683,7 +657,7 @@ int mutt_save_message (HEADER * h, int delete, if (h) { if (_mutt_save_message (h, &ctx, delete, decode, decrypt) != 0) { mx_close_mailbox (&ctx, NULL); - return (-1); + return -1; } } else { for (i = 0; i < Context->vcount; i++) { @@ -693,7 +667,7 @@ int mutt_save_message (HEADER * h, int delete, if (_mutt_save_message (Context->hdrs[Context->v2r[i]], &ctx, delete, decode, decrypt) != 0) { mx_close_mailbox (&ctx, NULL); - return (-1); + return -1; } } } @@ -715,17 +689,12 @@ int mutt_save_message (HEADER * h, int delete, } mutt_clear_error (); - return (0); + return 0; } return -1; } -void mutt_version (void) -{ - mutt_message (mutt_make_version()); -} - void mutt_edit_content_type (HEADER * h, BODY * b, FILE * fp) { char buf[LONG_STRING]; @@ -816,42 +785,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; -}