X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fpick.c;h=0465ef51490980b6cdfd7e0f1decfaaeec51441b;hp=8448d968bc8ee654c1eb9e86f71bcfe699c2c81e;hb=d4c34b4439a9dbd89664de460ed37ecddc260fb1;hpb=f16ae6eedeacce086d513e10461938c1650e265e diff --git a/uip/pick.c b/uip/pick.c index 8448d96..0465ef5 100644 --- a/uip/pick.c +++ b/uip/pick.c @@ -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); @@ -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; @@ -1017,15 +1015,17 @@ plist p1 = linebuf; p2 = n->n_expbuf; - /* Attempt to decode as a MIME header. If it's the last header, - * body will be 1 and lf will be at least 1. */ - if ((body == 0 || lf > 0) && - decode_rfc2047 (linebuf, decoded_linebuf, sizeof decoded_linebuf)) { - p1 = decoded_linebuf; + /* + ** Attempt to decode as a MIME header. If it's the + ** last header, body will be 1 and lf will be at least 1. + */ + if ((body == 0 || lf > 0) && decode_rfc2047(linebuf, + decoded_linebuf, sizeof decoded_linebuf)) { + p1 = decoded_linebuf; } if (n->n_circf) { - if (advance(p1, p2)) + if (advance(p1, p2)) return 1; continue; } @@ -1250,11 +1250,9 @@ 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); while (state == FLDPLUS) { @@ -1264,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: @@ -1292,6 +1288,6 @@ plist : (twsort(tw, &n->n_tws) < 0); if (bp != NULL) - free(bp); + mh_free0(&bp); return state; }