X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/513587ec31160434400bb003d7160777e2db6bb6..e6d87a04919616cf2a6ea6cbda81d5fbc31cc8a2:/uip/mhoutsbr.c?ds=sidebyside diff --git a/uip/mhoutsbr.c b/uip/mhoutsbr.c index 456a2e27..c9974456 100644 --- a/uip/mhoutsbr.c +++ b/uip/mhoutsbr.c @@ -126,7 +126,7 @@ output_content (CT ct, FILE *out) if (output_content (p, out) == NOTOK) { if (boundary && *boundary != '\0') free(boundary); - return NOTOK; + return NOTOK; } } fprintf (out, "\n--%s--\n", boundary); @@ -164,7 +164,7 @@ output_content (CT ct, FILE *out) body, don't emit the newline that would appear between the headers and body. In that case, the call to write8Bit() shouldn't be needed, but is harmless. */ - if (ct->c_ctinfo.ci_first_pm != NULL || + if (ct->c_ctinfo.ci_first_pm != NULL || ct->c_begin == 0 || ct->c_begin != ct->c_end) { putc ('\n', out); } @@ -187,8 +187,14 @@ output_content (CT ct, FILE *out) break; case CE_BINARY: - advise (NULL, "can't handle binary transfer encoding in content"); - result = NOTOK; + if (ct->c_type == CT_TEXT) { + /* So that mhfixmsg can decode to binary text. */ + putc ('\n', out); + result = write8Bit (ct, out); + } else { + advise (NULL, "can't handle binary transfer encoding in content"); + result = NOTOK; + } break; default: