=================================================================== RCS file: /cvs/mandoc/main.c,v retrieving revision 1.16 retrieving revision 1.18 diff -u -p -r1.16 -r1.18 --- mandoc/main.c 2009/03/25 21:46:24 1.16 +++ mandoc/main.c 2009/03/31 13:50:19 1.18 @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.16 2009/03/25 21:46:24 kristaps Exp $ */ +/* $Id: main.c,v 1.18 2009/03/31 13:50:19 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -220,6 +220,8 @@ main(int argc, char *argv[]) if (fflags & IGN_MACRO) pflags |= MDOC_IGN_MACRO; mdoc = mdoc_alloc(&curp, pflags, &mdoccb); + if (NULL == mdoc) + errx(1, "memory exhausted"); break; } @@ -246,8 +248,10 @@ main(int argc, char *argv[]) break; if (man) man_reset(man); - if (mdoc) - mdoc_reset(mdoc); + if (mdoc && ! mdoc_reset(mdoc)) { + warnx("memory exhausted"); + break; + } argv++; } rc = NULL == *argv; @@ -273,8 +277,7 @@ version(void) { (void)printf("%s %s\n", __progname, VERSION); - exit(0); - /* NOTREACHED */ + exit(EXIT_SUCCESS); } @@ -285,8 +288,7 @@ usage(void) (void)fprintf(stderr, "usage: %s [-V] [-foption...] " "[-mformat] [-Toutput] [-Werr...]\n", __progname); - exit(1); - /* NOTREACHED */ + exit(EXIT_FAILURE); } @@ -401,9 +403,9 @@ static int moptions(enum intt *tflags, char *arg) { - if (0 == strcmp(arg, "mdoc")) + if (0 == strcmp(arg, "doc")) *tflags = INTT_MDOC; - else if (0 == strcmp(arg, "man")) + else if (0 == strcmp(arg, "an")) *tflags = INTT_MAN; else { warnx("bad argument: -m%s", arg);