X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=copy.c;h=d386400d56e0c3007b537e9d92bc12e6ef6f5204;hp=d658ffc96cd02618509779ca773ff6e24c55c543;hb=916e4872caf252a5850e64f79427b9dd7808435d;hpb=23e6291cb5d5b4cd2008403d8b628007fd75ff23 diff --git a/copy.c b/copy.c index d658ffc..d386400 100644 --- a/copy.c +++ b/copy.c @@ -7,28 +7,16 @@ * please see the file GPL in the top level source directory. */ -#if HAVE_CONFIG_H -# include "config.h" -#endif - -#include -#include -#include -#include - -#include -#include -#include -#include -#include +#include #include +#include #include "mutt.h" #include "handler.h" -#include "mx.h" #include "copy.h" #include +#include #include "mutt_idna.h" static int address_header_decode (char **str); @@ -45,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; @@ -67,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) @@ -128,19 +116,19 @@ 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) && (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) { @@ -346,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); @@ -571,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; @@ -629,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); - mutt_free_body (&cur); + m_fclose(&fp); + body_list_wipe(&cur); return (-1); } - mutt_free_body (&cur); - fclose (fp); + body_list_wipe(&cur); + m_fclose(&fp); } else { fseeko (fpin, body->offset, 0); @@ -658,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;