X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=recvattach.c;h=d4ebd3d7395f22180e162379a77e25cf97c798fe;hp=c2fec5eb2a275383dc3e8f9b6cd882eac2ae729d;hb=f3cbb9f51357972f6e74244494236a41dc4d84cd;hpb=230399f9632c37b66c1c117a17e8327eae6b3235 diff --git a/recvattach.c b/recvattach.c index c2fec5e..d4ebd3d 100644 --- a/recvattach.c +++ b/recvattach.c @@ -8,10 +8,6 @@ * please see the file GPL in the top level source directory. */ -#if HAVE_CONFIG_H -# include "config.h" -#endif - #include #include @@ -19,24 +15,18 @@ #include #include #include +#include + +#include #include "mutt.h" #include "handler.h" #include "recvattach.h" #include "attach.h" -#include "mx.h" #include "copy.h" #include -#include -#include -#include -#include -#include -#include -#include - static const char *Mailbox_is_read_only = N_("Mailbox is read-only."); static char LastSaveFolder[_POSIX_PATH_MAX] = ""; @@ -58,7 +48,7 @@ static struct mapping_t AttachHelp[] = { {NULL, OP_NULL} }; -static int mutt_extract_path (char *filename, char *path) +static int mutt_extract_path (char *filename, char *path, ssize_t pathlen) { char *tmp = p_new(char, _POSIX_PATH_MAX); char *help_ptr; @@ -69,7 +59,7 @@ static int mutt_extract_path (char *filename, char *path) if (*filename == '/') { *help_ptr++ = *filename++; *help_ptr++ = '\0'; - strcat (path, tmp); + m_strcat(path, pathlen, tmp); help_ptr = tmp; } *help_ptr++ = *filename++; @@ -434,7 +424,7 @@ static int mutt_query_save_attachment (FILE * fp, BODY * body, HEADER * hdr, return -1; } else { - mutt_extract_path (buf, path); + mutt_extract_path (buf, path, sizeof(path)); m_strcpy(LastSaveFolder, sizeof(LastSaveFolder), path); } @@ -515,14 +505,14 @@ void mutt_save_attachment_list (FILE * fp, int tag, BODY * top, HEADER * hdr, rc = mutt_save_attachment (fp, top, tfile, append, hdr); if (rc == 0 && AttachSep && (fpout = fopen (tfile, "a")) != NULL) { fprintf (fpout, "%s", AttachSep); - fclose (fpout); + m_fclose(&fpout); } } else { rc = mutt_save_attachment (fp, top, tfile, M_SAVE_APPEND, hdr); if (rc == 0 && AttachSep && (fpout = fopen (tfile, "a")) != NULL) { fprintf (fpout, "%s", AttachSep); - fclose (fpout); + m_fclose(&fpout); } } } @@ -607,7 +597,7 @@ static void pipe_attachment (FILE * fp, BODY * b, STATE * state) return; } mutt_copy_stream (ifp, state->fpout); - fclose (ifp); + m_fclose(&ifp); if (AttachSep) state_puts (AttachSep, state); } @@ -653,7 +643,7 @@ void mutt_pipe_attachment_list (FILE * fp, int tag, BODY * top, int afilter) mutt_endwin (NULL); thepid = mutt_create_filter (buf, &state.fpout, NULL, NULL); pipe_attachment_list (buf, fp, tag, top, afilter, &state); - fclose (state.fpout); + m_fclose(&state.fpout); if (mutt_wait_filter (thepid) != 0 || option (OPTWAITKEY)) mutt_any_key_to_continue (NULL); } @@ -711,7 +701,7 @@ static void print_attachment_list (FILE * fp, int tag, BODY * top, 0) { if ((ifp = fopen (newfile, "r")) != NULL) { mutt_copy_stream (ifp, state->fpout); - fclose (ifp); + m_fclose(&ifp); if (AttachSep) state_puts (AttachSep, state); } @@ -748,7 +738,7 @@ void mutt_print_attachment_list (FILE * fp, int tag, BODY * top) p_clear(&state, 1); thepid = mutt_create_filter (NONULL (PrintCmd), &state.fpout, NULL, NULL); print_attachment_list (fp, tag, top, &state); - fclose (state.fpout); + m_fclose(&state.fpout); if (mutt_wait_filter (thepid) != 0 || option (OPTWAITKEY)) mutt_any_key_to_continue (NULL); } @@ -786,12 +776,6 @@ mutt_attach_display_loop (MUTTMENU * menu, int op, FILE * fp, HEADER * hdr, { ATTACHPTR **idx = *idxp; -#if 0 - int old_optweed = option (OPTWEED); - - set_option (OPTWEED); -#endif - do { switch (op) { case OP_DISPLAY_HEADERS: @@ -847,10 +831,6 @@ mutt_attach_display_loop (MUTTMENU * menu, int op, FILE * fp, HEADER * hdr, } while (op != OP_NULL); -#if 0 - if (option (OPTWEED) != old_optweed) - toggle_option (OPTWEED); -#endif return op; } @@ -948,7 +928,7 @@ void mutt_view_attachments (HEADER * hdr) secured = !crypt_smime_decrypt_mime (_fp, &fp, _cur, &cur); body_list_wipe(&_cur); - safe_fclose (&_fp); + m_fclose(&_fp); } } else @@ -1238,7 +1218,7 @@ void mutt_view_attachments (HEADER * hdr) idxmax = 0; if (need_secured && secured) { - fclose (fp); + m_fclose(&fp); body_list_wipe(&cur); }