Replace free() with mh_free0()
[mmh] / uip / repl.c
index 71ae98e..505160e 100644 (file)
@@ -145,14 +145,14 @@ main(int argc, char **argv)
        FILE *in;
        int buildsw = 0;
 
-       filter = getcpy(etcpath(mhlreply));
-
        setlocale(LC_ALL, "");
        invo_name = mhbasename(argv[0]);
 
        /* read user profile/context */
        context_read();
 
+       filter = getcpy(etcpath(mhlreply));
+
        arguments = getarguments(invo_name, argc, argv, 1);
        argp = arguments;
 
@@ -412,15 +412,13 @@ replout(FILE *inb, char *drft, struct msgs *mp,
        /* compile format string */
        ncomps = fmt_compile(cp, &fmt) + 1;
 
-       nxtbuf = compbuffers = (char **)
-                       mh_xcalloc((size_t) ncomps, sizeof(char *));
-       savecomp = used_buf = (struct comp **)
-                       mh_xcalloc((size_t) (ncomps+1), sizeof(struct comp *));
+       nxtbuf = compbuffers = mh_xcalloc(ncomps, sizeof(char *));
+       savecomp = used_buf = mh_xcalloc(ncomps+1, sizeof(struct comp *));
        savecomp += ncomps + 1;
        *--savecomp = NULL;  /* point at zero'd end minus 1 */
 
        for (i = ncomps; i--; )
-               *nxtbuf++ = mh_xmalloc(SBUFSIZ);
+               *nxtbuf++ = mh_xcalloc(SBUFSIZ, sizeof(char));
 
        nxtbuf = compbuffers;  /* point at start */
        tmpbuf = *nxtbuf++;
@@ -539,11 +537,11 @@ finished:
                if (sp != cptr->c_text) {
                        cp = cptr->c_text;
                        cptr->c_text = getcpy(sp);
-                       free(cp);
+                       mh_free0(&cp);
                }
        }
        i = format_len + char_read + 256;
-       scanl = mh_xmalloc((size_t) i + 2);
+       scanl = mh_xcalloc(i + 2, sizeof(char));
        dat[0] = 0;
        dat[1] = 0;
        dat[2] = 0;
@@ -584,14 +582,14 @@ finished:
        }
 
        /* return dynamically allocated buffers */
-       free(scanl);
+       mh_free0(&scanl);
        for (nxtbuf = compbuffers, i = ncomps; (cptr = *savecomp++);
                        nxtbuf++, i--)
-               free(cptr->c_text);  /* if not nxtbuf, nxtbuf already freed */
+               mh_free0(&(cptr->c_text));  /* if not nxtbuf, nxtbuf already freed */
        while ( i-- > 0)
-               free(*nxtbuf++);  /* free unused nxtbufs */
-       free((char *) compbuffers);
-       free((char *) used_buf);
+               mh_free0(nxtbuf++);  /* free unused nxtbufs */
+       mh_free0(&compbuffers);
+       mh_free0(&used_buf);
 }
 
 static char *buf;  /* our current working buffer */
@@ -646,7 +644,7 @@ formataddr(char *orig, char *str)
 
        /* if we don't have a buffer yet, get one */
        if (bufsiz == 0) {
-               buf = mh_xmalloc(BUFINCR);
+               buf = mh_xcalloc(BUFINCR, sizeof(char));
                last_dst = buf;  /* XXX */
                bufsiz = BUFINCR - 6;  /* leave some slop */
                bufend = buf + bufsiz;