]> diplodocus.org Git - nmh/blobdiff - uip/mhfixmsg.c
mh-sequence.man: document new '=+' and '=-' for selecting relative msgs
[nmh] / uip / mhfixmsg.c
index 10a8e1b3f1310a5057dbf9dac00e4ecd073c4c80..2d2fde131494cd28d01a322b8d5e6d1762f175ac 100644 (file)
@@ -11,9 +11,6 @@
 #include <h/mhparse.h>
 #include <h/utils.h>
 #include <h/signals.h>
-#include <signal.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
 #include <fcntl.h>
 #ifdef HAVE_ICONV
 #   include <iconv.h>
@@ -458,6 +455,7 @@ mhfixmsgsbr (CT *ctp, const fix_transformations *fx, char *outfile) {
     }
 
     if (modify_inplace) {
+        if (status != OK) unlink (outfile);
         free (outfile);
         outfile = NULL;
     }
@@ -951,7 +949,11 @@ ensure_text_plain (CT *ct, CT parent, int *message_mods) {
                         free_content (mp_alt);
                         status = NOTOK;
                     }
+                } else {
+                    status = NOTOK;
                 }
+            } else {
+                status = NOTOK;
             }
         }
         break;
@@ -1460,6 +1462,7 @@ decode_text_parts (CT ct, int encoding, int *message_mods) {
                     unlink (ct->c_cefile.ce_file);
                     free (ct->c_cefile.ce_file);
                     ct->c_cefile.ce_file = NULL;
+                    status = NOTOK;
                 } else if (ct->c_encoding == CE_QUOTED &&
                            ct_encoding == CE_8BIT  &&  encoding == CE_7BIT) {
                     if (verbosw) {
@@ -1472,6 +1475,7 @@ decode_text_parts (CT ct, int encoding, int *message_mods) {
                     unlink (ct->c_cefile.ce_file);
                     free (ct->c_cefile.ce_file);
                     ct->c_cefile.ce_file = NULL;
+                    status = NOTOK;
                 } else {
                     int enc;
                     if (ct_encoding == CE_BINARY)
@@ -1828,6 +1832,8 @@ write_content (CT ct, char *input_filename, char *outfile, int modify_inplace,
                 }
 
                 free (infile);
+            } else {
+                status = NOTOK;
             }
         } else {
             /* No modifications and didn't need the tmp outfile. */