build system tweaks.
[apps/madmutt.git] / attach.c
index 4e6fff1..d4b1c6f 100644 (file)
--- a/attach.c
+++ b/attach.c
@@ -373,6 +373,7 @@ int mutt_view_attachment (FILE * fp, BODY * a, int flag, HEADER * hdr,
   rfc1524_entry *entry = NULL;
   int rc = -1;
   int unlink_tempfile = 0;
+  int pagerfd = -1;
 
   is_message = mutt_is_message_type (a->type, a->subtype);
   if (is_message && a->hdr && (a->hdr->security & ENCRYPT) &&
@@ -444,26 +445,20 @@ int mutt_view_attachment (FILE * fp, BODY * a, int flag, HEADER * hdr,
   }
 
   if (use_pager) {
-    if (fp && !use_mailcap && a->filename) {
-      /* recv case */
-      m_strcpy(pagerfile, sizeof(pagerfile), a->filename);
-      mutt_adv_mktemp (NULL, pagerfile, sizeof (pagerfile));
-    } else {
-      mutt_mktemp (pagerfile);
-    }
+    /* recv case */
+    pagerfd = m_tempfd(pagerfile, sizeof(pagerfile), NONULL(Tempdir),
+                       fp && !use_mailcap ? a->filename : NULL);
   }
 
   if (use_mailcap) {
     pid_t thepid = 0;
-    int tempfd = -1, pagerfd = -1;
+    int tempfd = -1;
 
     if (!use_pager)
       mutt_endwin (NULL);
 
     if (use_pager || use_pipe) {
-      if (use_pager
-          && ((pagerfd = safe_open (pagerfile, O_CREAT | O_EXCL | O_WRONLY))
-              == -1)) {
+      if (use_pager && pagerfd == -1) {
         mutt_perror ("open");
         goto return_error;
       }