X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/e977b184441df7bc0aed29fa83c9c014dafc0961..9322ba2854211794c27fae9468768b80b767c211:/uip/ap.c diff --git a/uip/ap.c b/uip/ap.c index 48117846..1b1fee3c 100644 --- a/uip/ap.c +++ b/uip/ap.c @@ -51,14 +51,13 @@ main (int argc, char **argv) int width = -1, status = 0; char *cp, *form = NULL, *format = NULL, *nfs; char buf[BUFSIZ], **argp; - char **arguments, *addrs[NADDRS]; + char *addrs[NADDRS + 1]; /* Includes terminating NULL. */ if (nmh_init(argv[0], 2)) { return 1; } mts_init (); - arguments = getarguments (invo_name, argc, argv, 1); - argp = arguments; + argp = getarguments (invo_name, argc, argv, 1); while ((cp = *argp++)) { if (*cp == '-') { switch (smatch (++cp, switches)) { @@ -96,7 +95,7 @@ main (int argc, char **argv) continue; } } - if (addrp > NADDRS) + if (addrp == NADDRS) adios (NULL, "more than %d addresses", NADDRS); else addrs[addrp++] = cp; @@ -174,15 +173,13 @@ process (char *arg, int length) cptr = fmt_findcomp ("text"); if (cptr) { - if (cptr->c_text) - free(cptr->c_text); + mh_xfree(cptr->c_text); cptr->c_text = p->pq_text; p->pq_text = NULL; } cptr = fmt_findcomp ("error"); if (cptr) { - if (cptr->c_text) - free(cptr->c_text); + mh_xfree(cptr->c_text); cptr->c_text = p->pq_error; p->pq_error = NULL; } @@ -191,12 +188,10 @@ process (char *arg, int length) fputs (charstring_buffer (scanl), stdout); charstring_free (scanl); - if (p->pq_text) - free (p->pq_text); - if (p->pq_error) - free (p->pq_error); + mh_xfree(p->pq_text); + mh_xfree(p->pq_error); q = p->pq_next; - free ((char *) p); + free(p); } return status;