make the dump be an almost valid .rc file.
[apps/madmutt.git] / copy.c
diff --git a/copy.c b/copy.c
index 46dfd64..6df4003 100644 (file)
--- a/copy.c
+++ b/copy.c
@@ -7,21 +7,7 @@
  * please see the file GPL in the top level source directory.
  */
 
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <unistd.h>
-
-#include <lib-lib/macros.h>
-#include <lib-lib/mem.h>
-#include <lib-lib/str.h>
-#include <lib-lib/file.h>
-#include <lib-lib/ascii.h>
-#include <lib-lib/debug.h>
+#include <lib-lib/lib-lib.h>
 
 #include <lib-mime/mime.h>
 
@@ -30,6 +16,7 @@
 #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);
@@ -121,13 +108,10 @@ mutt_copy_hdr (FILE* in, FILE* out, off_t off_start, off_t off_end,
    */
   if (flags & CH_REORDER) {
     for (t = HeaderOrderList; t; t = t->next) {
-      debug_print (1, ("Reorder list: %s\n", t->data));
       hdr_count++;
     }
   }
 
-  debug_print (1, ("WEED is %s\n", (flags & CH_WEED) ? "Set" : "Not"));
-
   headers = p_new(char *, hdr_count);
 
   /* Read all the headers into the array */
@@ -142,9 +126,9 @@ mutt_copy_hdr (FILE* in, FILE* out, off_t off_start, off_t off_end,
     if (nl && buf[0] != ' ' && buf[0] != '\t') {
 
       /* set curline to 1 for To:/Cc:/Bcc: and 0 otherwise */
-      curline = (flags & CH_WEED) && (ascii_strncmp ("To:", buf, 3) == 0 ||
-                                      ascii_strncmp ("Cc:", buf, 3) == 0 ||
-                                      ascii_strncmp ("Bcc:", buf, 4) == 0);
+      curline = (flags & CH_WEED) && (m_strncmp("To:", buf, 3) == 0 ||
+                                      m_strncmp("Cc:", buf, 3) == 0 ||
+                                      m_strncmp("Bcc:", buf, 4) == 0);
 
       /* Do we have anything pending? */
       if (this_one) {
@@ -208,7 +192,6 @@ mutt_copy_hdr (FILE* in, FILE* out, off_t off_start, off_t off_end,
       if (flags & CH_REORDER) {
         for (t = HeaderOrderList, x = 0; (t); t = t->next, x++) {
           if (!ascii_strncasecmp (buf, t->data, m_strlen(t->data))) {
-            debug_print (2, ("Reorder: %s matches %s\n", t->data, buf));
             break;
           }
         }
@@ -218,7 +201,6 @@ mutt_copy_hdr (FILE* in, FILE* out, off_t off_start, off_t off_end,
     }                           /* If beginning of header */
 
     if (!ignore) {
-      debug_print (2, ("Reorder: x = %d; hdr_count = %d\n", x, hdr_count));
       if (!this_one)
         this_one = m_strdup(buf);
       /* we do want to see all lines if this header doesn't feature
@@ -352,8 +334,7 @@ mutt_copy_header (FILE * in, HEADER * h, FILE * out, int flags,
     fputs ("MIME-Version: 1.0\n", out);
     fputs ("Content-Transfer-Encoding: 8bit\n", out);
     fputs ("Content-Type: text/plain; charset=", out);
-    mutt_canonical_charset (chsbuf, sizeof (chsbuf),
-                            Charset ? Charset : "us-ascii");
+    charset_canonicalize(chsbuf, sizeof (chsbuf), Charset);
     rfc822_strcpy(buffer, sizeof(buffer), chsbuf, MimeSpecials);
     fputs (buffer, out);
     fputc ('\n', out);
@@ -561,18 +542,6 @@ _mutt_copy_message (FILE * fpout, FILE * fpin, HEADER * hdr, BODY * body,
       if (copy_delete_attach (body, fpin, fpout, date))
         return -1;
 
-#ifdef DEBUG
-      {
-        off_t fail = ((ftello (fpout) - new_offset) - new_length);
-
-        if (fail) {
-          mutt_error ("The length calculation was wrong by %ld bytes", fail);
-          new_length += fail;
-          mutt_sleep (1);
-        }
-      }
-#endif
-
       /* Update original message if we are sync'ing a mailfolder */
       if (flags & M_CM_UPDATE) {
         hdr->attach_del = 0;
@@ -589,7 +558,7 @@ _mutt_copy_message (FILE * fpout, FILE * fpin, HEADER * hdr, BODY * body,
           Context->vsize -= body->length - new_length;
 
         body->length = new_length;
-        mutt_free_body (&body->parts);
+        body_list_wipe(&body->parts);
       }
 
       return 0;
@@ -648,10 +617,10 @@ _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);
-      mutt_free_body (&cur);
+      body_list_wipe(&cur);
       return (-1);
     }
-    mutt_free_body (&cur);
+    body_list_wipe(&cur);
     fclose (fp);
   }
   else {
@@ -676,7 +645,7 @@ _mutt_copy_message (FILE * fpout, FILE * fpin, HEADER * hdr, BODY * body,
   if ((flags & M_CM_UPDATE) && (flags & M_CM_NOHEADER) == 0
       && new_offset != -1) {
     body->offset = new_offset;
-    mutt_free_body (&body->parts);
+    body_list_wipe(&body->parts);
   }
 
   return rc;
@@ -695,7 +664,6 @@ mutt_copy_message (FILE * fpout, CONTEXT * src, HEADER * hdr, int flags,
        _mutt_copy_message (fpout, msg->fp, hdr, hdr->content, flags,
                            chflags)) == 0 && (ferror (fpout)
                                               || feof (fpout))) {
-    debug_print (1, ("_mutt_copy_message failed to detect EOF!\n"));
     r = -1;
   }
   mx_close_message (&msg);