Added -nocontentid (and -contentid, for symmetry) switch to mhbuild. This allows...
[mmh] / uip / mhbuildsbr.c
index fb2d451..83a18b5 100644 (file)
@@ -27,6 +27,7 @@
 #include <h/tws.h>
 #include <h/mime.h>
 #include <h/mhparse.h>
+#include <h/utils.h>
 
 #ifdef TIME_WITH_SYS_TIME
 # include <sys/time.h>
@@ -50,6 +51,7 @@ extern int verbosw;
 extern int ebcdicsw;
 extern int listsw;
 extern int rfc934sw;
+extern int contentidsw;
 
 extern int endian;     /* mhmisc.c */
 
@@ -785,8 +787,7 @@ add_header (CT ct, char *name, char *value)
     HF hp;
 
     /* allocate header field structure */
-    if (!(hp = malloc (sizeof(*hp))))
-       adios (NULL, "out of memory");
+    hp = mh_xmalloc (sizeof(*hp));
 
     /* link data into header structure */
     hp->name = name;
@@ -1553,8 +1554,7 @@ invalid_param:
                        goto no_body;
                    }
                    
-                   if ((e->eb_body = bp = malloc ((unsigned) size)) == NULL)
-                       adios (NULL, "out of memory");
+                   e->eb_body = bp = mh_xmalloc ((unsigned) size);
                    fseek (p->c_fp, p->c_begin, SEEK_SET);
                    while (size > 0)
                        switch (cc = fread (bp, sizeof(*bp), size, p->c_fp)) {
@@ -3933,9 +3933,9 @@ build_headers (CT ct)
     add_header (ct, np, vp);
 
     /*
-     * output the Content-ID
+     * output the Content-ID, unless disabled by -nocontentid
      */
-    if (ct->c_id) {
+    if (contentidsw && ct->c_id) {
        np = add (ID_FIELD, NULL);
        vp = concat (" ", ct->c_id, NULL);
        add_header (ct, np, vp);