X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/0860f098b5a13f4e8bedb2d2da9d2df94717b4a5..f1920d78123667716f2321d37ce37628603b2700:/uip/mhoutsbr.c diff --git a/uip/mhoutsbr.c b/uip/mhoutsbr.c index b672de77..456a2e27 100644 --- a/uip/mhoutsbr.c +++ b/uip/mhoutsbr.c @@ -10,7 +10,6 @@ #include #include -#include #include #include #include @@ -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; }