]> diplodocus.org Git - nmh/blobdiff - uip/mhoutsbr.c
Document argsplit changes in mh-profile man page.
[nmh] / uip / mhoutsbr.c
index 59bf7a429e36bafde130923128e730cf723afbef..aac061dd2a4f218ef1851d86cb5710cb420a7b1a 100644 (file)
@@ -83,6 +83,14 @@ output_content (CT ct, FILE *out)
 {
     int result = 0;
     CI ci = &ct->c_ctinfo;
+    char *boundary = ci->ci_values[0], **ap, **vp;
+
+    for (ap = ci->ci_attrs, vp = ci->ci_values; *ap; ++ap, ++vp) {
+        if (! mh_strcasecmp ("boundary", *ap)) {
+            boundary = *vp;
+            break;
+        }
+    }
 
     /*
      * Output all header fields for this content
@@ -110,14 +118,23 @@ 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;
 
-           fprintf (out, "\n--%s\n", ci->ci_values[0]);
+           fprintf (out, "\n--%s\n", boundary);
            if (output_content (p, out) == NOTOK)
                return NOTOK;
        }
-       fprintf (out, "\n--%s--\n", ci->ci_values[0]);
+       fprintf (out, "\n--%s--\n", boundary);
+
+        if (m->mp_content_after) {
+           fprintf (out, "%s", m->mp_content_after);
+        }
     }
     break;