#include <lib-ui/curses.h>
#include <lib-ui/enter.h>
#include <lib-ui/menu.h>
+#include <lib-mx/mx.h>
#include "mutt.h"
#include "alias.h"
#include "recvattach.h"
#include "sort.h"
#include "copy.h"
-#include "mx.h"
#include "pager.h"
#include <lib-crypt/crypt.h>
#include "mutt_idna.h"
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) {
-1, fileno (fpfilterout), -1);
if (filterpid < 0) {
mutt_error (_("Cannot create display filter"));
- safe_fclose (&fpfilterout);
+ m_fclose(&fpfilterout);
unlink (tempfile);
return 0;
}
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
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 */
}
pipe_msg (h, fpout, decode, print);
- fclose (fpout);
+ m_fclose(&fpout);
rc = mutt_wait_filter (thepid);
}
else { /* handle tagged messages */
/* add the message separator */
if (sep)
fputs (sep, fpout);
- safe_fclose (&fpout);
+ m_fclose(&fpout);
if (mutt_wait_filter (thepid) != 0)
rc = 1;
}
fputs (sep, fpout);
}
}
- safe_fclose (&fpout);
+ m_fclose(&fpout);
if (mutt_wait_filter (thepid) != 0)
rc = 1;
}