X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=commands.c;h=349358751f60536006e14d1b2a733b884ef091b2;hp=280a3fd6859aefc3751a6d4f69b650eafbd73d7e;hb=fc7b90fd61ac9efd35a5b506cc10679969d84cba;hpb=230399f9632c37b66c1c117a17e8327eae6b3235 diff --git a/commands.c b/commands.c index 280a3fd..3493587 100644 --- a/commands.c +++ b/commands.c @@ -8,20 +8,8 @@ * please see the file GPL in the top level source directory. */ -#if HAVE_CONFIG_H -# include "config.h" -#endif - -#include -#include -#include -#include -#include -#include -#include -#include - #include +#include #include @@ -31,13 +19,13 @@ #include #include #include +#include #include "mutt.h" #include "alias.h" #include "recvattach.h" #include "sort.h" #include "copy.h" -#include "mx.h" #include "pager.h" #include #include "mutt_idna.h" @@ -47,10 +35,6 @@ #include -#ifdef BUFFY_SIZE -#include "buffy.h" -#endif - /* The folder the user last saved to. Used by ci_save_message() */ static char LastSaveFolder[_POSIX_PATH_MAX] = ""; @@ -71,11 +55,10 @@ int mutt_display_message (HEADER * cur) mutt_parse_mime_message (Context, cur); mutt_message_hook (Context, cur, M_MESSAGEHOOK); - mutt_mktemp (tempfile); - if ((fpout = safe_fopen (tempfile, "w")) == NULL) { + fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(Tempdir), NULL); + if (!fpout) { mutt_error _("Could not create temporary file!"); - - return (0); + return 0; } if (DisplayFilter && *DisplayFilter) { @@ -86,7 +69,7 @@ int mutt_display_message (HEADER * cur) -1, fileno (fpfilterout), -1); if (filterpid < 0) { mutt_error (_("Cannot create display filter")); - safe_fclose (&fpfilterout); + m_fclose(&fpfilterout); unlink (tempfile); return 0; } @@ -145,28 +128,18 @@ int mutt_display_message (HEADER * cur) mx_close_message (&msg); } - if ((safe_fclose (&fpout) != 0 && errno != EPIPE) || res == -1) { + if ((m_fclose(&fpout) != 0 && errno != EPIPE) || res == -1) { mutt_error (_("Could not copy message")); if (fpfilterout != NULL) { mutt_wait_filter (filterpid); - safe_fclose (&fpfilterout); + m_fclose(&fpfilterout); } -#if 0 - /* this is maybe just plain wrong but it makes the pager display - * what we have; i.e. for the crypto stuff we only get - * 'Could not copy message' for invalid passphrases, no PGP output - * not nothing; so just display what we have... - * - pdmef - */ - mutt_unlink (tempfile); - return 0; -#endif } if (fpfilterout != NULL && mutt_wait_filter (filterpid) != 0) mutt_any_key_to_continue (NULL); - safe_fclose (&fpfilterout); /* XXX - check result? */ + m_fclose(&fpfilterout); /* XXX - check result? */ /* update crypto information for this message */ @@ -234,7 +207,7 @@ int mutt_display_message (HEADER * cur) void ci_bounce_message (HEADER * h, int *redraw) { - char prompt[SHORT_STRING]; + char prompt[STRING]; char buf[HUGE_STRING] = { 0 }; address_t *adr = NULL; char *err = NULL; @@ -271,14 +244,14 @@ void ci_bounce_message (HEADER * h, int *redraw) } buf[0] = 0; - rfc822_write_address (buf, sizeof (buf), adr, 1); + 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 (mutt_strwidth (prompt) > COLS - extra_space) { + if (m_strwidth(prompt) > COLS - extra_space) { mutt_format_string(prompt, sizeof(prompt), 0, COLS - extra_space, 0, 0, prompt, sizeof(prompt), 0); m_strcat(prompt, sizeof(prompt), "...?"); @@ -373,7 +346,7 @@ static int _mutt_pipe_message(HEADER * h, char *cmd, int decode, int print, } pipe_msg (h, fpout, decode, print); - fclose (fpout); + m_fclose(&fpout); rc = mutt_wait_filter (thepid); } else { /* handle tagged messages */ @@ -406,7 +379,7 @@ static int _mutt_pipe_message(HEADER * h, char *cmd, int decode, int print, /* add the message separator */ if (sep) fputs (sep, fpout); - safe_fclose (&fpout); + m_fclose(&fpout); if (mutt_wait_filter (thepid) != 0) rc = 1; } @@ -429,7 +402,7 @@ static int _mutt_pipe_message(HEADER * h, char *cmd, int decode, int print, fputs (sep, fpout); } } - safe_fclose (&fpout); + m_fclose(&fpout); if (mutt_wait_filter (thepid) != 0) rc = 1; } @@ -458,7 +431,7 @@ void mutt_pipe_message (HEADER * h) void mutt_print_message (HEADER * h) { - if (quadoption (OPT_PRINT) && (!PrintCmd || !*PrintCmd)) { + if (quadoption (OPT_PRINT) && m_strisempty(PrintCmd)) { mutt_message (_("No printing command has been defined.")); return; } @@ -561,7 +534,7 @@ void mutt_shell_escape (void) void mutt_enter_command (void) { BUFFER err, token; - char buffer[LONG_STRING], errbuf[SHORT_STRING]; + char buffer[LONG_STRING], errbuf[STRING]; int r; buffer[0] = 0; @@ -587,7 +560,7 @@ void mutt_enter_command (void) void mutt_display_address (ENVELOPE * env) { const char *pfx = NULL; - char buf[SHORT_STRING]; + char buf[STRING]; address_t *adr = NULL; adr = mutt_get_address(env, &pfx); @@ -603,7 +576,7 @@ void mutt_display_address (ENVELOPE * env) */ buf[0] = 0; - rfc822_write_address (buf, sizeof (buf), adr, 0); + rfc822_addrcat(buf, sizeof (buf), adr, 0); mutt_message ("%s: %s", pfx, buf); } @@ -668,15 +641,10 @@ int mutt_save_message (HEADER * h, int delete, int decode, int decrypt, int *redraw) { int i, need_buffy_cleanup; int need_passphrase = 0, app = 0; - char prompt[SHORT_STRING], buf[_POSIX_PATH_MAX]; + char prompt[STRING], buf[_POSIX_PATH_MAX]; CONTEXT ctx; struct stat st; - -#ifdef BUFFY_SIZE - BUFFY *tmp = NULL; -#else struct utimbuf ut; -#endif *redraw = 0; @@ -790,20 +758,14 @@ int mutt_save_message (HEADER * h, int delete, mx_close_mailbox (&ctx, NULL); if (need_buffy_cleanup) { -#ifdef BUFFY_SIZE - tmp = buffy_find_mailbox (buf); - if (tmp && tmp->new <= 0) - buffy_update_mailbox (tmp); -#else /* fix up the times so buffy won't get confused */ if (st.st_mtime > st.st_atime) { ut.actime = st.st_atime; ut.modtime = time (NULL); utime (buf, &ut); - } - else + } else { utime (buf, NULL); -#endif + } } mutt_clear_error (); @@ -815,7 +777,7 @@ int mutt_save_message (HEADER * h, int delete, void mutt_version (void) { - mutt_message (mutt_make_version (1)); + mutt_message (mutt_make_version()); } void mutt_edit_content_type (HEADER * h, BODY * b, FILE * fp) @@ -891,12 +853,12 @@ void mutt_edit_content_type (HEADER * h, BODY * b, FILE * fp) if (!is_multipart(b) && b->parts) body_list_wipe(&b->parts); - if (!mutt_is_message_type (b->type, b->subtype) && b->hdr) { + if (!mutt_is_message_type(b) && b->hdr) { b->hdr->content = NULL; header_delete(&b->hdr); } - if (fp && (is_multipart(b) || mutt_is_message_type(b->type, b->subtype))) + if (fp && (is_multipart(b) || mutt_is_message_type(b))) mutt_parse_part (fp, b); if (h) {