X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/8fd34425a97a7f50a8fc3514cb32d71400e2a4bb..9322ba2854211794c27fae9468768b80b767c211:/uip/picksbr.c diff --git a/uip/picksbr.c b/uip/picksbr.c index 0217aa15..6faa108f 100644 --- a/uip/picksbr.c +++ b/uip/picksbr.c @@ -633,6 +633,7 @@ gcompile (struct nexus *n, char *astr) case '\\': if ((c = *sp++) == '\0') goto cerror; + /* FALLTHRU */ defchar: default: *ep++ = CCHR; @@ -945,9 +946,8 @@ plist switch (state = m_getfld (&gstate, name, buf, &bufsz, fp)) { case FLD: case FLDPLUS: - if (bp != NULL) - free (bp), bp = NULL; - bp = add (buf, NULL); + mh_xfree(bp); + bp = mh_xstrdup(buf); while (state == FLDPLUS) { bufsz = sizeof buf; state = m_getfld (&gstate, name, buf, &bufsz, fp); @@ -963,8 +963,7 @@ plist case FMTERR: if (state == LENERR || state == FMTERR) advise (NULL, "format error in message %d", msgnum); - if (bp != NULL) - free (bp); + mh_xfree(bp); return 0; default: @@ -981,7 +980,6 @@ plist state = n->n_after ? (twsort (tw, &n->n_tws) > 0) : (twsort (tw, &n->n_tws) < 0); - if (bp != NULL) - free (bp); + mh_xfree(bp); return state; }