Merge branch 'm_getfld2-meillo' into master
[mmh] / uip / sortm.c
index 61953e1..56fa7cb 100644 (file)
@@ -161,7 +161,7 @@ main(int argc, char **argv)
                        if (folder)
                                adios(EX_USAGE, NULL, "only one folder at a time!");
                        else
-                               folder = getcpy(expandfol(cp));
+                               folder = mh_xstrdup(expandfol(cp));
                } else
                        app_msgarg(&msgs, cp);
        }
@@ -197,7 +197,7 @@ main(int argc, char **argv)
        /*
        ** sort a list of pointers to our "messages to be sorted".
        */
-       dlist = (struct smsg **) mh_xcalloc((size_t) (nmsgs+1), sizeof(*dlist));
+       dlist = mh_xcalloc(nmsgs+1, sizeof(*dlist));
        for (i = 0; i < nmsgs; i++)
                dlist[i] = &smsgs[i];
        dlist[nmsgs] = 0;
@@ -224,8 +224,7 @@ main(int argc, char **argv)
                struct smsg **slist, **flist;
                struct smsg ***il, **fp, **dp;
 
-               slist = (struct smsg **)
-                               mh_xmalloc((nmsgs+1) * sizeof(*slist));
+               slist = mh_xcalloc(nmsgs+1, sizeof(*slist));
                memcpy((char *)slist, (char *)dlist, (nmsgs+1)*sizeof(*slist));
                qsort((char *)slist, nmsgs, sizeof(*slist),
                                (qsort_comp) subsort);
@@ -235,7 +234,7 @@ main(int argc, char **argv)
                ** the collection of messages with the same subj
                ** given a message number.
                */
-               il = (struct smsg ***) mh_xcalloc(mp->hghsel+1, sizeof(*il));
+               il = mh_xcalloc(mp->hghsel+1, sizeof(*il));
                if (! il)
                        adios(EX_OSERR, NULL, "couldn't allocate msg list");
                for (i = 0; i < nmsgs; i++)
@@ -244,8 +243,7 @@ main(int argc, char **argv)
                ** make up the final list, chronological but with
                ** all the same subjects grouped together.
                */
-               flist = (struct smsg **)
-                               mh_xmalloc((nmsgs+1) * sizeof(*flist));
+               flist = mh_xcalloc(nmsgs+1, sizeof(*flist));
                fp = flist;
                for (dp = dlist; *dp;) {
                        struct smsg **s = il[(*dp++)->s_msg];
@@ -267,8 +265,8 @@ main(int argc, char **argv)
                        }
                }
                *fp = 0;
-               free(slist);
-               free(dlist);
+               mh_free0(&slist);
+               mh_free0(&dlist);
                dlist = flist;
        }
 
@@ -295,8 +293,7 @@ read_hdrs(struct msgs *mp, char *datesw)
 
        twscopy(&tb, dlocaltimenow());
 
-       smsgs = (struct smsg *) mh_xcalloc((size_t) (mp->hghsel - mp->lowsel + 2),
-                       sizeof(*smsgs));
+       smsgs = mh_xcalloc(mp->hghsel - mp->lowsel + 2, sizeof(*smsgs));
 
        s = smsgs;
        for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++) {
@@ -336,13 +333,13 @@ get_fields(char *datesw, int msg, struct smsg *smsg)
                switch (state = m_getfld2(state, &f, in)) {
                case FLD2:
                        if (mh_strcasecmp(f.name, datesw)==0) {
-                               datecomp = getcpy(f.value);
+                               datecomp = mh_xstrdup(f.value);
                                if (!subjsort || subjcomp) {
                                        break;
                                }
                        } else if (subjsort && mh_strcasecmp(f.name,
                                        subjsort)==0) {
-                               subjcomp = getcpy(f.value);
+                               subjcomp = mh_xstrdup(f.value);
                                if (datecomp) {
                                        break;
                                }
@@ -358,10 +355,10 @@ get_fields(char *datesw, int msg, struct smsg *smsg)
                case IOERR2:
                        admonish(NULL, "format error in message %d (header #%d)", msg, compnum);
                        if (datecomp) {
-                               free(datecomp);
+                               mh_free0(&datecomp);
                        }
                        if (subjcomp) {
-                               free(subjcomp);
+                               mh_free0(&subjcomp);
                        }
                        fclose(in);
                        return (0);
@@ -424,7 +421,7 @@ get_fields(char *datesw, int msg, struct smsg *smsg)
        }
        fclose(in);
        if (datecomp)
-               free(datecomp);
+               mh_free0(&datecomp);
 
        return (1);
 }