Use m_tempfile and better errors msg
[apps/madmutt.git] / copy.c
diff --git a/copy.c b/copy.c
index 65ed14c..d386400 100644 (file)
--- a/copy.c
+++ b/copy.c
 #include <lib-lib/lib-lib.h>
 
 #include <lib-mime/mime.h>
+#include <lib-mx/mx.h>
 
 #include "mutt.h"
 #include "handler.h"
-#include "mx.h"
 #include "copy.h"
 #include <lib-crypt/crypt.h>
+#include <lib-ui/curses.h>
 #include "mutt_idna.h"
 
 static int address_header_decode (char **str);
@@ -32,7 +33,7 @@ mutt_copy_hdr (FILE* in, FILE* out, off_t off_start, off_t off_end,
   int this_is_from;
   int ignore = 0;
   char buf[STRING];             /* should be long enough to get most fields in one pass */
-  char *nl;
+  char *eol;
   string_list_t *t;
   char **headers;
   int hdr_count;
@@ -54,13 +55,13 @@ mutt_copy_hdr (FILE* in, FILE* out, off_t off_start, off_t off_end,
      * we can do a more efficient line to line copying
      */
     while (ftello (in) < off_end) {
-      nl = strchr (buf, '\n');
+      eol = strchr (buf, '\n');
 
       if ((fgets (buf, sizeof (buf), in)) == NULL)
         break;
 
       /* Is it the begining of a header? */
-      if (nl && buf[0] != ' ' && buf[0] != '\t') {
+      if (eol && buf[0] != ' ' && buf[0] != '\t') {
         ignore = 1;
         if (!from && m_strncmp("From ", buf, 5) == 0) {
           if ((flags & CH_FROM) == 0)
@@ -115,14 +116,14 @@ mutt_copy_hdr (FILE* in, FILE* out, off_t off_start, off_t off_end,
 
   /* Read all the headers into the array */
   while (ftello (in) < off_end) {
-    nl = strchr (buf, '\n');
+    eol = strchr (buf, '\n');
 
     /* Read a line */
     if ((fgets (buf, sizeof (buf), in)) == NULL)
       break;
 
     /* Is it the begining of a header? */
-    if (nl && buf[0] != ' ' && buf[0] != '\t') {
+    if (eol && buf[0] != ' ' && buf[0] != '\t') {
 
       /* set curline to 1 for To:/Cc:/Bcc: and 0 otherwise */
       curline = (flags & CH_WEED) && (m_strncmp("To:", buf, 3) == 0 ||
@@ -615,12 +616,12 @@ _mutt_copy_message (FILE * fpout, FILE * fpin, HEADER * hdr, BODY * body,
 
     fseeko (fp, cur->offset, 0);
     if (mutt_copy_bytes (fp, fpout, cur->length) == -1) {
-      fclose (fp);
+      m_fclose(&fp);
       body_list_wipe(&cur);
       return (-1);
     }
     body_list_wipe(&cur);
-    fclose (fp);
+    m_fclose(&fp);
   }
   else {
     fseeko (fpin, body->offset, 0);