X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=recvattach.c;h=b9db799f523531d45a2020469f25d69324ffa9fe;hp=6c7956a685cb6007650ca3defc930d8923328d52;hb=066efd5f9515b763908dd2f761c4d6bcb86faa4e;hpb=0ff1c0b36260c231b7d63ffc88646505e0ea11de diff --git a/recvattach.c b/recvattach.c index 6c7956a..b9db799 100644 --- a/recvattach.c +++ b/recvattach.c @@ -486,33 +486,32 @@ void mutt_save_attachment_list (FILE * fp, int tag, BODY * top, HEADER * hdr, } static void -mutt_query_pipe_attachment (char *command, FILE * fp, BODY * body, int afilter) +mutt_query_pipe_attachment(char *command, FILE * fp, BODY * body, int afilter) { char tfile[_POSIX_PATH_MAX]; char warning[STRING + _POSIX_PATH_MAX]; + int tempfd = -1; if (afilter) { - snprintf (warning, sizeof (warning), - _("WARNING! You are about to overwrite %s, continue?"), - body->filename); + snprintf(warning, sizeof (warning), + _("WARNING! You are about to overwrite %s, continue?"), + body->filename); if (mutt_yesorno (warning, M_NO) != M_YES) { CLEARLINE (LINES - 1); return; } - mutt_mktemp (tfile); - } else { - tfile[0] = '\0'; + tempfd = m_tempfd(tfile, sizeof(tfile), NONULL(Tempdir), NULL); } - if (mutt_pipe_attachment (fp, body, command, tfile)) { + if (mutt_pipe_attachment(fp, body, command, tempfd)) { if (afilter) { mutt_unlink (body->filename); mutt_rename_file (tfile, body->filename); mutt_update_encoding (body); mutt_message _("Attachment filtered."); } - } else { - if (afilter && tfile[0]) + } else if (afilter) { + close(tempfd); mutt_unlink (tfile); } }