]> diplodocus.org Git - nmh/blobdiff - uip/mhfixmsg.c
Added check of -fcc with no fcc in components.
[nmh] / uip / mhfixmsg.c
index 299d24a2b3cce7bdfc72fc31bcafe569ef9e6dba..2a701f0057478e467480a23af24ca073b966fd65 100644 (file)
@@ -547,6 +547,7 @@ mhfixmsgsbr (CT *ctp, char *maildir, const fix_transformations *fx,
 
         if ((*ctp)->c_file) {
             char *tempfile;
+            /* outfp will be closed by the caller */
             if ((tempfile = m_mktemp2 (NULL, invo_name, NULL, outfp)) ==
                 NULL) {
                 adios (NULL, "unable to create temporary file in %s",
@@ -1489,6 +1490,7 @@ build_text_plain_part (CT encoded_part) {
            be unlinked by free_content (). */
         char *tempfile;
 
+        /* This m_mktemp2() call closes the temp file. */
         if ((tempfile = m_mktemp2 (NULL, invo_name, NULL, NULL)) == NULL) {
             advise (NULL, "unable to create temporary file in %s",
                     get_temp_dir());
@@ -1627,6 +1629,9 @@ decode_part (CT ct) {
     status = output_message_fp (ct, file, tmp_decoded);
     (void) m_unlink (tmp_decoded);
     free (tmp_decoded);
+    if (fclose (file)) {
+        admonish (NULL, "unable to close temporary file %s", tempfile);
+    }
 
     return status;
 }
@@ -2584,7 +2589,7 @@ static int
 fix_filename_param (char *name, char *value, PM *first_pm, PM *last_pm) {
     int fixed = 0;
 
-    if (HasPrefix(value, "=?") && HasSuffix(value, "?=")) {
+    if (has_prefix(value, "=?") && has_suffix(value, "?=")) {
         /* Looks like an RFC 2047 encoded parameter. */
         char decoded[PATH_MAX + 1];