Replace free() with mh_free0()
[mmh] / uip / mhl.c
index 6989c70..ddf32ec 100644 (file)
--- a/uip/mhl.c
+++ b/uip/mhl.c
@@ -458,7 +458,7 @@ evalvar(struct mcomp *c1)
                        return 1;
                cp = concat("=", cp, NULL);
                fmtstr = new_fs(cp, NULL);
-               free(cp);
+               mh_free0(&cp);
                c1->c_fstr = getcpy(fmtstr);
                c1->c_flags |= FORMAT;
                return 0;
@@ -586,8 +586,7 @@ process(char *fname, int ofilen, int ofilec)
        if (fp != stdin)
                fclose(fp);
        if (holder.c_text) {
-               free(holder.c_text);
-               holder.c_text = NULL;
+               mh_free0(&(holder.c_text));
        }
        free_queue(&msghd, &msgtl);
        for (c1 = fmthd; c1; c1 = c1->c_next)
@@ -663,8 +662,7 @@ mhlfile(FILE *fp, char *mname, int ofilen, int ofilec)
                                        holder.c_text = concat("(Message ",
                                                        mname, ")\n", NULL);
                                        putcomp(c1, &holder, ONECOMP);
-                                       free(holder.c_text);
-                                       holder.c_text = NULL;
+                                       mh_free0(&(holder.c_text));
                                        continue;
                                }
                                if (!mh_strcasecmp(c1->c_name, "extras")) {
@@ -674,14 +672,13 @@ mhlfile(FILE *fp, char *mname, int ofilen, int ofilec)
                                        continue;
                                }
                                if (dobody && !mh_strcasecmp(c1->c_name, "body")) {
-                                       holder.c_text = mh_xmalloc(sizeof(buf));
+                                       holder.c_text = mh_xcalloc(sizeof(buf), sizeof(char));
                                        strncpy(holder.c_text, buf, sizeof(buf));
                                        while (state == BODY) {
                                                putcomp(c1, &holder, BODYCOMP);
                                                state = m_getfld(state, name, holder.c_text, sizeof(buf), fp);
                                        }
-                                       free(holder.c_text);
-                                       holder.c_text = NULL;
+                                       mh_free0(&(holder.c_text));
                                        continue;
                                }
                                for (c2 = msghd; c2; c2 = c2->c_next)
@@ -774,13 +771,13 @@ mcomp_format(struct mcomp *c1, struct mcomp *c2)
                /* Don't need to append a newline, dctime() already did */
                c2->c_text = getcpy(buffer);
 
-               free(ap);
+               mh_free0(&ap);
                return;
        }
 
        (q = &pq)->pq_next = NULL;
        while ((cp = getname(ap))) {
-               p = (struct pqpair *) mh_xcalloc((size_t) 1, sizeof(*p));
+               p = mh_xcalloc(1, sizeof(*p));
 
                if ((mp = getm(cp, NULL, 0, AD_NAME, error)) == NULL) {
                        p->pq_text = getcpy(cp);
@@ -809,11 +806,11 @@ mcomp_format(struct mcomp *c1, struct mcomp *c2)
                        c2->c_text = add(buffer, c2->c_text);
                }
 
-               free(p->pq_text);
+               mh_free0(&(p->pq_text));
                if (p->pq_error)
-                       free(p->pq_error);
+                       mh_free0(&(p->pq_error));
                q = p->pq_next;
-               free((char *) p);
+               mh_free0(&p);
        }
 
        c2->c_text = add("\n", c2->c_text);
@@ -827,7 +824,7 @@ add_queue(struct mcomp **head, struct mcomp **tail, char *name,
 {
        struct mcomp *c1;
 
-       c1 = (struct mcomp *) mh_xcalloc((size_t) 1, sizeof(*c1));
+       c1 = mh_xcalloc(1, sizeof(*c1));
 
        c1->c_flags = flags & ~INIT;
        if ((c1->c_name = name ? getcpy(name) : NULL))
@@ -860,16 +857,16 @@ free_queue(struct mcomp **head, struct mcomp **tail)
        for (c1 = *head; c1; c1 = c2) {
                c2 = c1->c_next;
                if (c1->c_name)
-                       free(c1->c_name);
+                       mh_free0(&(c1->c_name));
                if (c1->c_text)
-                       free(c1->c_text);
+                       mh_free0(&(c1->c_text));
                if (c1->c_ovtxt)
-                       free(c1->c_ovtxt);
+                       mh_free0(&(c1->c_ovtxt));
                if (c1->c_fstr)
-                       free(c1->c_fstr);
+                       mh_free0(&(c1->c_fstr));
                if (c1->c_fmt)
-                       free((char *) c1->c_fmt);
-               free((char *) c1);
+                       mh_free0(&(c1->c_fmt));
+               mh_free0(&c1);
        }
 
        *head = *tail = NULL;