]> diplodocus.org Git - nmh/blobdiff - uip/mhoutsbr.c
Another pass at cleaning up (some of) the manpages.
[nmh] / uip / mhoutsbr.c
index b672de77a4e7a552124691bbe2fdf9dc93996b53..456a2e279fdff726e039f243620598dac34d1d92 100644 (file)
@@ -10,7 +10,6 @@
 
 #include <h/mh.h>
 #include <fcntl.h>
-#include <h/signals.h>
 #include <h/md5.h>
 #include <h/mts.h>
 #include <h/tws.h>
@@ -317,7 +316,9 @@ write8Bit (CT ct, FILE *out)
     c = '\n';
     while ((inbytes = fread (buffer, 1, sizeof buffer, ce->ce_fp)) > 0) {
         c = buffer[inbytes - 1];
-        fwrite (buffer, 1, inbytes, out);
+        if (fwrite (buffer, 1, inbytes, out) < inbytes) {
+            advise ("write8Bit", "fwrite");
+        }
     }
     if (c != '\n')
        putc ('\n', out);
@@ -405,6 +406,7 @@ three_print:
        putc ('\n', out);
 
     (*ct->c_ceclosefnx) (ct);
+    free (bufp);
     return OK;
 }
 
@@ -424,7 +426,10 @@ writeBase64ct (CT ct, FILE *out)
     if ((fd = (*ct->c_ceopenfnx) (ct, &file)) == NOTOK)
        return NOTOK;
 
-    result = writeBase64aux (ce->ce_fp, out, (ct->c_type == CT_TEXT));
+    result = writeBase64aux (ce->ce_fp, out,
+                             ct->c_type == CT_TEXT  &&  ct->c_ctparams
+                             ?  ((struct text *) ct->c_ctparams)->lf_line_endings == 0
+                             :  0);
     (*ct->c_ceclosefnx) (ct);
     return result;
 }