X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fpick.c;h=4cb33fb189b7aa92494543ff65234022d6c2d246;hp=993527b471828578e444f703cdd7fd91419877bc;hb=6e9577f324bef90765a5edc02044eb111ec48072;hpb=cdb32d069bdcb6fa04ca7e3d87240442665611b0 diff --git a/uip/pick.c b/uip/pick.c index 993527b..4cb33fb 100644 --- a/uip/pick.c +++ b/uip/pick.c @@ -70,6 +70,8 @@ static struct swit switches[] = { { NULL, 0 } }; +char *version=VERSION; + /* ** static prototypes */ @@ -197,7 +199,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); } @@ -731,7 +733,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: @@ -768,7 +770,7 @@ newnexus(int (*action)()) { struct nexus *p; - p = (struct nexus *) mh_xcalloc((size_t) 1, sizeof *p); + p = mh_xcalloc(1, sizeof *p); p->n_action = action; return p; @@ -1249,28 +1251,32 @@ plist fseek(fp, start, SEEK_SET); for (state = FLD2, bp = NULL;;) { switch (state = m_getfld2(state, &f, fp)) { + case LENERR2: + state = FLD2; + /* FALL */ + case FLD2: if (bp) { - free(bp); - bp = NULL; + mh_free0(&bp); } - bp = getcpy(f.value); + bp = mh_xstrdup(f.value); if (mh_strcasecmp(f.name, n->n_datef)==0) { break; } continue; - case LENERR2: case FMTERR2: - case IOERR2: advise(NULL, "format error in message %d", msgnum); + state = FLD2; + continue; + + case IOERR2: + adios(EX_IOERR, "m_getfld2", "io error on message %d", msgnum); /* FALL */ case BODY2: case FILEEOF2: - if (bp) { - free(bp); - } + mh_free0(&bp); return 0; default: @@ -1287,6 +1293,6 @@ plist : (twsort(tw, &n->n_tws) < 0); if (bp != NULL) - free(bp); + mh_free0(&bp); return state; }