X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fpick.c;h=1df59b186f3fae1d7ad09b6a559f581d9a136855;hb=3244935a74559715749a60c03e7b608a227e0438;hp=8ae58a464eb2a5a27126931ca215d1a4a55936cb;hpb=5d690daafbcd4ed26d19610fcc017999ee5af892;p=mmh diff --git a/uip/pick.c b/uip/pick.c index 8ae58a4..1df59b1 100644 --- a/uip/pick.c +++ b/uip/pick.c @@ -197,7 +197,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); } @@ -274,7 +274,6 @@ main(int argc, char **argv) } else { /* if it doesn't match, then unselect it */ unset_selected(mp, msgnum); - mp->numsel--; } if (fp) fclose(fp); @@ -732,7 +731,7 @@ pattern: ; padvise(NULL, "pattern error in %s %s", argp[-2], cp); return NULL; } - n->n_patbuf = getcpy(dp); + n->n_patbuf = mh_xstrdup(dp); return n; case PROTHR: @@ -769,8 +768,7 @@ newnexus(int (*action)()) { struct nexus *p; - if ((p = (struct nexus *) mh_xcalloc((size_t) 1, sizeof *p)) == NULL) - adios(EX_OSERR, NULL, "unable to allocate component storage"); + p = mh_xcalloc(1, sizeof *p); p->n_action = action; return p; @@ -1252,13 +1250,11 @@ plist for (state = FLD, bp = NULL;;) { switch (state = m_getfld(state, name, buf, sizeof buf, fp)) { case FLD: - case FLDEOF: case FLDPLUS: if (bp != NULL) { - free(bp); - bp = NULL; + mh_free0(&bp); } - bp = getcpy(buf); + bp = mh_xstrdup(buf); while (state == FLDPLUS) { state = m_getfld(state, name, buf, sizeof buf, fp); @@ -1266,18 +1262,16 @@ plist } if (!mh_strcasecmp(name, n->n_datef)) break; - if (state != FLDEOF) - continue; + continue; case BODY: - case BODYEOF: case FILEEOF: case LENERR: case FMTERR: if (state == LENERR || state == FMTERR) advise(NULL, "format error in message %d", msgnum); if (bp != NULL) - free(bp); + mh_free0(&bp); return 0; default: @@ -1294,6 +1288,6 @@ plist : (twsort(tw, &n->n_tws) < 0); if (bp != NULL) - free(bp); + mh_free0(&bp); return state; }