X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/102b7de56d30dfa217b4f4bc58328b5bc96e7675..821f3da0f61239ec5990c105e77aacc7638e45eb:/uip/mhoutsbr.c diff --git a/uip/mhoutsbr.c b/uip/mhoutsbr.c index d3a0a85b..1064b15e 100644 --- a/uip/mhoutsbr.c +++ b/uip/mhoutsbr.c @@ -118,6 +118,11 @@ output_content (CT ct, FILE *out) putc ('\n', out); m = (struct multipart *) ct->c_ctparams; + + if (m->mp_content_before) { + fprintf (out, "%s", m->mp_content_before); + } + for (part = m->mp_parts; part; part = part->mp_next) { CT p = part->mp_part; @@ -126,6 +131,10 @@ output_content (CT ct, FILE *out) return NOTOK; } fprintf (out, "\n--%s--\n", boundary); + + if (m->mp_content_after) { + fprintf (out, "%s", m->mp_content_after); + } } break; @@ -152,7 +161,14 @@ output_content (CT ct, FILE *out) default: switch (ct->c_encoding) { case CE_7BIT: - putc ('\n', out); + /* Special case: if this is a non-MIME message with no + 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_attrs[0] != NULL || + ct->c_begin != ct->c_end) { + putc ('\n', out); + } result = write8Bit (ct, out); break;