]> diplodocus.org Git - nmh/blobdiff - uip/mhbuildsbr.c
Replace getcpy() with mh_xstrdup() where the string isn't NULL.
[nmh] / uip / mhbuildsbr.c
index 858bfe675eb6fc42d8b9b37566fe66195c6afd62..aefa1f3e27fcc5eab2c95bcc7fb55817a1e3347a 100644 (file)
@@ -161,7 +161,7 @@ build_mime (char *infile, int autobuild, int dist, int directives,
     /*
      * Allocate space for primary (outside) content
      */
-    ct = mh_xcalloc(1, sizeof *ct);
+    NEW0(ct);
 
     /*
      * Allocate structure for handling decoded content
@@ -243,8 +243,8 @@ build_mime (char *infile, int autobuild, int dist, int directives,
                    goto finish_field;
                }
 
-               entry = mh_xmalloc(sizeof(*entry));
-               entry->filename = getcpy(s);
+               NEW(entry);
+               entry->filename = mh_xstrdup(s);
                entry->next = NULL;
                free(vp);
 
@@ -277,12 +277,12 @@ build_mime (char *infile, int autobuild, int dist, int directives,
                         adios (NULL, "Multiple %s headers with different files"
                                " not allowed", type);
                     } else {
-                        convert->filename = getcpy (filename);
+                        convert->filename = mh_xstrdup(filename);
                     }
                 } else {
-                    convert = mh_xcalloc (sizeof *convert, 1);
-                    convert->filename = getcpy (filename);
-                    convert->type = getcpy (type);
+                    NEW0(convert);
+                    convert->filename = mh_xstrdup(filename);
+                    convert->type = mh_xstrdup(type);
 
                     if (convert_tail) {
                         convert_tail->next = convert;
@@ -317,12 +317,12 @@ build_mime (char *infile, int autobuild, int dist, int directives,
                         adios (NULL, "Multiple %s headers with different "
                                "argstrings not allowed", type);
                     } else {
-                        convert->argstring = getcpy (argstring);
+                        convert->argstring = mh_xstrdup(argstring);
                     }
                 } else {
-                    convert = mh_xcalloc (sizeof *convert, 1);
-                    convert->type = getcpy (type);
-                    convert->argstring = getcpy (argstring);
+                    NEW0(convert);
+                    convert->type = mh_xstrdup(type);
+                    convert->argstring = mh_xstrdup(argstring);
 
                     if (convert_tail) {
                         convert_tail->next = convert;
@@ -393,7 +393,7 @@ finish_field:
     ct->c_type = CT_MULTIPART;
     ct->c_subtype = MULTI_MIXED;
 
-    m = mh_xcalloc(1, sizeof *m);
+    NEW0(m);
     ct->c_ctparams = (void *) m;
     pp = &m->mp_parts;
 
@@ -412,7 +412,7 @@ finish_field:
        if (!p)
            continue;
 
-       part = mh_xcalloc(1, sizeof *part);
+       NEW0(part);
        *pp = part;
        pp = &part->mp_next;
        part->mp_part = p;
@@ -432,7 +432,7 @@ finish_field:
            adios("reading", "Unable to open %s for", at_entry->filename);
        }
 
-       p = mh_xcalloc(1, sizeof *p);
+       NEW0(p);
        init_decoded_content(p, infile);
 
        /*
@@ -443,7 +443,7 @@ finish_field:
 
        setup_attach_content(p, at_entry->filename);
 
-       part = mh_xcalloc(1, sizeof *part);
+       NEW0(part);
        *pp = part;
        pp = &part->mp_next;
        part->mp_part = p;
@@ -496,7 +496,7 @@ finish_field:
        struct part *part;
        struct text *t;
 
-       p = mh_xcalloc(1, sizeof *p);
+       NEW0(p);
        init_decoded_content(p, infile);
 
        if (get_ctinfo ("text/plain", p, 0) == NOTOK)
@@ -510,15 +510,15 @@ finish_field:
         * So this seems like the best option available since we're going
         * to call scan_content() on this.
         */
-       p->c_cefile.ce_file = getcpy("/dev/null");
+       p->c_cefile.ce_file = mh_xstrdup("/dev/null");
        p->c_begin = ftell(in);
        p->c_end = ftell(in);
 
-       t = mh_xcalloc(1, sizeof *t);
+       NEW0(t);
        t->tx_charset = CHARSET_SPECIFIED;
        p->c_ctparams = t;
 
-       part = mh_xcalloc(1, sizeof *part);
+       NEW0(part);
        *pp = part;
        part->mp_part = p;
     }
@@ -665,7 +665,7 @@ user_content (FILE *in, char *buf, CT *ctp, const char *infilename)
     }
 
     /* allocate basic Content structure */
-    ct = mh_xcalloc(1, sizeof *ct);
+    NEW0(ct);
     *ctp = ct;
 
     /* allocate basic structure for handling decoded content */
@@ -896,7 +896,7 @@ use_forw:
             * reference, we need to create another Content structure
             * for the message/external-body to wrap it in.
             */
-           ct = mh_xcalloc(1, sizeof *ct);
+           NEW0(ct);
            init_decoded_content(ct, infilename);
            *ctp = ct;
            if (get_ctinfo (buffer, ct, 0) == NOTOK)
@@ -904,7 +904,7 @@ use_forw:
            ct->c_type = CT_MESSAGE;
            ct->c_subtype = MESSAGE_EXTERNAL;
 
-           e = mh_xcalloc(1, sizeof *e);
+           NEW0(e);
            ct->c_ctparams = (void *) e;
 
            e->eb_parent = ct;
@@ -1013,7 +1013,7 @@ use_forw:
            ct->c_type = CT_MULTIPART;
            ct->c_subtype = MULTI_DIGEST;
 
-           m = mh_xcalloc(1, sizeof *m);
+           NEW0(m);
            ct->c_ctparams = (void *) m;
            pp = &m->mp_parts;
 
@@ -1023,7 +1023,7 @@ use_forw:
                    CT p;
                    CE pe;
 
-                   p = mh_xcalloc(1, sizeof *p);
+                   NEW0(p);
                    init_decoded_content (p, infilename);
                    pe = &p->c_cefile;
                    if (get_ctinfo ("message/rfc822", p, 0) == NOTOK)
@@ -1036,7 +1036,7 @@ use_forw:
                    if (listsw && stat (pe->ce_file, &st) != NOTOK)
                        p->c_end = (long) st.st_size;
 
-                   part = mh_xcalloc(1, sizeof *part);
+                   NEW0(part);
                    *pp = part;
                    pp = &part->mp_next;
                    part->mp_part = p;
@@ -1096,7 +1096,7 @@ use_forw:
        ct->c_type = CT_MULTIPART;
        ct->c_subtype = vrsn;
 
-       m = mh_xcalloc(1, sizeof *m);
+       NEW0(m);
        ct->c_ctparams = (void *) m;
 
        pp = &m->mp_parts;
@@ -1112,7 +1112,7 @@ use_forw:
            if (!p)
                continue;
 
-           part = mh_xcalloc(1, sizeof *part);
+           NEW0(part);
            *pp = part;
            pp = &part->mp_next;
            part->mp_part = p;
@@ -1141,10 +1141,10 @@ set_id (CT ct, int top)
        time (&clock);
        snprintf (contentid, sizeof(contentid), "%s\n", message_id (clock, 1));
        partno = 0;
-       msgfmt = getcpy(contentid);
+       msgfmt = mh_xstrdup(contentid);
     }
     snprintf (contentid, sizeof(contentid), msgfmt, top ? 0 : ++partno);
-    ct->c_id = getcpy (contentid);
+    ct->c_id = mh_xstrdup(contentid);
 }
 
 
@@ -1756,7 +1756,7 @@ build_headers (CT ct, int header_encoding)
        vp = add("\n", vp);
        if (np)
            free(np);
-       add_header (ct, getcpy(DISPO_FIELD), vp);
+       add_header (ct, mh_xstrdup(DISPO_FIELD), vp);
     }
 
 skip_headers:
@@ -2025,7 +2025,7 @@ setup_attach_content(CT ct, char *filename)
        if (strcasecmp(pm->pm_name, "name") == 0) {
            if (pm->pm_value)
                free(pm->pm_value);
-           pm->pm_value = getcpy(simplename);
+           pm->pm_value = mh_xstrdup(simplename);
            break;
        }
     }
@@ -2034,9 +2034,9 @@ setup_attach_content(CT ct, char *filename)
        add_param(&ct->c_ctinfo.ci_first_pm, &ct->c_ctinfo.ci_last_pm,
                  "name", simplename, 0);
 
-    ct->c_descr = getcpy(simplename);
+    ct->c_descr = mh_xstrdup(simplename);
     ct->c_descr = add("\n", ct->c_descr);
-    ct->c_cefile.ce_file = getcpy(filename);
+    ct->c_cefile.ce_file = mh_xstrdup(filename);
 
     set_disposition (ct);
 
@@ -2067,7 +2067,9 @@ set_disposition (CT ct) {
                       cp);
         }
 
-        ct->c_dispo_type = cp  ?  getcpy (cp)  :  getcpy ("attachment");
+        if (!cp)
+            cp = "attachment";
+        ct->c_dispo_type = mh_xstrdup(cp);
     }
 }
 
@@ -2084,7 +2086,8 @@ set_charset (CT ct, int contains8bit) {
         struct text *t;
 
         if (ct->c_ctparams == NULL) {
-            t = ct->c_ctparams = mh_xcalloc(1, sizeof *t);
+            NEW0(t);
+            ct->c_ctparams = t;
             t->tx_charset = CHARSET_UNSPECIFIED;
         } else {
             t = (struct text *) ct->c_ctparams;
@@ -2229,7 +2232,7 @@ expand_pseudoheader (CT ct, CT *text_plain_ct, struct multipart *m,
                 NULL);
 
     /* Convert here . . . */
-    ct->c_storeproc = getcpy (convert_command);
+    ct->c_storeproc = mh_xstrdup(convert_command);
     ct->c_umask = ~m_gmprot ();
 
     if ((status = show_content_aux (ct, 0, convert_command, NULL, NULL)) !=
@@ -2239,7 +2242,7 @@ expand_pseudoheader (CT ct, CT *text_plain_ct, struct multipart *m,
     free (convert_command);
 
     /* Fill out the the new ct, reply_ct. */
-    reply_ct = (CT) mh_xcalloc (1, sizeof *reply_ct);
+    NEW0(reply_ct);
     init_decoded_content (reply_ct, infile);
 
     if (extract_headers (reply_ct, reply_file, &reply_fp) == NOTOK) {
@@ -2368,7 +2371,7 @@ expand_pseudoheader (CT ct, CT *text_plain_ct, struct multipart *m,
     reply_ct->c_cefile.ce_unlink = 1;
 
     /* Attach the new part to the parent multipart/mixed, "m". */
-    part = (struct part *) mh_xcalloc (1, sizeof *part);
+    NEW0(part);
     part->mp_part = reply_ct;
     if (m->mp_parts) {
         struct part *p;