small fixes, style and cosmetics.
[apps/madmutt.git] / attach.c
index a66665c..1d1ce66 100644 (file)
--- a/attach.c
+++ b/attach.c
@@ -8,27 +8,13 @@
  * please see the file GPL in the top level source directory.
  */
 
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <ctype.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/wait.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <string.h>
-#include <errno.h>
-
 #include <lib-lib/lib-lib.h>
 
 #include <lib-sys/unix.h>
-
 #include <lib-mime/mime.h>
-
 #include <lib-ui/curses.h>
 #include <lib-ui/menu.h>
+#include <lib-mx/mx.h>
 
 #include "mutt.h"
 #include "handler.h"
@@ -36,7 +22,6 @@
 #include "keymap.h"
 #include "pager.h"
 #include "copy.h"
-#include "mx.h"
 #include <lib-crypt/crypt.h>
 
 int mutt_get_tmp_attachment (BODY * a)
@@ -126,7 +111,6 @@ int mutt_compose_attachment (BODY * a)
         if (r != -1 && entry->composetypecommand) {
           BODY *b;
           FILE *fp, *tfp;
-          char tempfile[_POSIX_PATH_MAX];
 
           if ((fp = safe_fopen (a->filename, "r")) == NULL) {
             mutt_perror (_("Failure to open file to parse headers."));
@@ -136,6 +120,8 @@ int mutt_compose_attachment (BODY * a)
 
           b = mutt_read_mime_header (fp, 0);
           if (b) {
+            char tempfile[_POSIX_PATH_MAX];
+
             if (b->parameter) {
               parameter_list_wipe(&a->parameter);
               a->parameter = b->parameter;
@@ -155,10 +141,9 @@ int mutt_compose_attachment (BODY * a)
             /* Remove headers by copying out data to another file, then 
              * copying the file back */
             fseeko (fp, b->offset, 0);
-            mutt_mktemp (tempfile);
-            if ((tfp = safe_fopen (tempfile, "w")) == NULL) {
+            tfp = m_tempfile(tempfile, sizeof(tempfile), NONULL(Tempdir), NULL);
+            if (!tfp) {
               mutt_perror (_("Failure to open file to strip headers."));
-
               goto bailout;
             }
             mutt_copy_stream (fp, tfp);
@@ -465,9 +450,9 @@ int mutt_view_attachment (FILE * fp, BODY * a, int flag, HEADER * hdr,
       /* recv case */
       m_strcpy(pagerfile, sizeof(pagerfile), a->filename);
       mutt_adv_mktemp (NULL, pagerfile, sizeof (pagerfile));
-    }
-    else
+    } else {
       mutt_mktemp (pagerfile);
+    }
   }
 
   if (use_mailcap) {
@@ -629,7 +614,7 @@ int mutt_pipe_attachment (FILE * fp, BODY * b, const char *path,
 
     s.fpin = fp;
     mutt_decode_attachment (b, &s);
-    safe_fclose (&s.fpout);
+    m_fclose(&s.fpout);
   }
   else {
     /* send case */
@@ -653,13 +638,13 @@ int mutt_pipe_attachment (FILE * fp, BODY * b, const char *path,
     if (thepid < 0) {
       mutt_perror (_("Can't create filter"));
 
-      safe_fclose (&ifp);
+      m_fclose(&ifp);
       goto bail;
     }
 
     mutt_copy_stream (ifp, ofp);
-    safe_fclose (&ofp);
-    safe_fclose (&ifp);
+    m_fclose(&ofp);
+    m_fclose(&ifp);
   }
 
   rv = 1;
@@ -775,19 +760,19 @@ int mutt_save_attachment (FILE * fp, BODY * m, char *path, int flags,
 
     if ((nfp = mutt_save_attachment_open (path, flags)) == NULL) {
       mutt_perror ("fopen");
-      safe_fclose (&ofp);
+      m_fclose(&ofp);
       return (-1);
     }
 
     if (mutt_copy_stream (ofp, nfp) == -1) {
       mutt_error _("Write fault!");
 
-      safe_fclose (&ofp);
-      safe_fclose (&nfp);
+      m_fclose(&ofp);
+      m_fclose(&nfp);
       return (-1);
     }
-    safe_fclose (&ofp);
-    safe_fclose (&nfp);
+    m_fclose(&ofp);
+    m_fclose(&nfp);
   }
 
   return 0;
@@ -930,12 +915,12 @@ int mutt_print_attachment (FILE * fp, BODY * a)
         mutt_perror (_("Can't create filter"));
 
         rfc1524_entry_delete(&entry);
-        safe_fclose (&ifp);
+        m_fclose(&ifp);
         return 0;
       }
       mutt_copy_stream (ifp, fpout);
-      safe_fclose (&fpout);
-      safe_fclose (&ifp);
+      m_fclose(&fpout);
+      m_fclose(&ifp);
       if (mutt_wait_filter (thepid) || option (OPTWAITKEY))
         mutt_any_key_to_continue (NULL);
     }
@@ -983,16 +968,16 @@ int mutt_print_attachment (FILE * fp, BODY * a)
 
       mutt_copy_stream (ifp, fpout);
 
-      safe_fclose (&fpout);
-      safe_fclose (&ifp);
+      m_fclose(&fpout);
+      m_fclose(&ifp);
 
       if (mutt_wait_filter (thepid) != 0 || option (OPTWAITKEY))
         mutt_any_key_to_continue (NULL);
       rc = 1;
     }
   bail0:
-    safe_fclose (&ifp);
-    safe_fclose (&fpout);
+    m_fclose(&ifp);
+    m_fclose(&fpout);
     mutt_unlink (newfile);
     return rc;
   }