Replace getcpy() and strdup() with mh_xstrdup()
[mmh] / uip / rcvdist.c
index 1337c89..f3caa50 100644 (file)
@@ -85,7 +85,7 @@ main(int argc, char **argv)
                                continue;
                        }
                }
-               addrs = addrs ? add(cp, add(", ", addrs)) : getcpy(cp);
+               addrs = addrs ? add(cp, add(", ", addrs)) : mh_xstrdup(cp);
        }
 
        if (!addrs) {
@@ -170,20 +170,13 @@ rcvdistout(FILE *inb, char *form, char *addrs)
        cp = new_fs(form ? form : rcvdistcomps, NULL);
        format_len = strlen(cp);
        ncomps = fmt_compile(cp, &fmt) + 1;
-       if (!(nxtbuf = compbuffers =
-                       (char **) mh_xcalloc((size_t) ncomps, sizeof(char *)))) {
-               adios(EX_OSERR, NULL, "unable to allocate component buffers");
-       }
-       if (!(savecomp = used_buf =
-                       (struct comp **) mh_xcalloc((size_t) (ncomps + 1),
-                       sizeof(struct comp *)))) {
-               adios(EX_OSERR, NULL, "unable to allocate component buffer stack");
-       }
+       nxtbuf = compbuffers = mh_xcalloc(ncomps, sizeof(char *));
+       savecomp = used_buf = mh_xcalloc(ncomps + 1, sizeof(struct comp *));
        savecomp += ncomps + 1;
        *--savecomp = 0;
 
        for (i = ncomps; i--;) {
-               *nxtbuf++ = mh_xmalloc(SBUFSIZ);
+               *nxtbuf++ = mh_xcalloc(SBUFSIZ, sizeof(char));
        }
        nxtbuf = compbuffers;
        tmpbuf = *nxtbuf++;
@@ -256,7 +249,7 @@ rcvdistout(FILE *inb, char *form, char *addrs)
 finished: ;
 
        i = format_len + char_read + 256;
-       scanl = mh_xmalloc((size_t) i + 2);
+       scanl = mh_xcalloc(i + 2, sizeof(char));
        dat[0] = dat[1] = dat[2] = dat[4] = 0;
        dat[3] = OUTPUTLINELEN;
        fmt_scan(fmt, scanl, i, dat);
@@ -267,16 +260,16 @@ finished: ;
        }
        fclose(out);
 
-       free(scanl);
+       mh_free0(&scanl);
        for (nxtbuf = compbuffers, i = ncomps; (cptr = *savecomp++);
                        nxtbuf++, i--) {
-               free(cptr->c_text);
+               mh_free0(&(cptr->c_text));
        }
        while (i-- > 0) {
-               free(*nxtbuf++);
+               mh_free0(nxtbuf++);
        }
-       free(compbuffers);
-       free(used_buf);
+       mh_free0(&compbuffers);
+       mh_free0(&used_buf);
 }