]> git.cameronkatri.com Git - mandoc.git/blobdiff - main.c
Partial cleanup of argument count validation in mdoc(7):
[mandoc.git] / main.c
diff --git a/main.c b/main.c
index 5b9fe27f3518219fffb6cac36ebb13dbb1b6dc99..2289de8ad7a76365e333ac166ce630cf08e6fa27 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1,6 +1,6 @@
-/*     $Id: main.c,v 1.131 2011/01/01 22:27:08 kristaps Exp $ */
+/*     $Id: main.c,v 1.133 2011/01/03 23:53:51 schwarze Exp $ */
 /*
- * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
+ * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010 Ingo Schwarze <schwarze@openbsd.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -153,6 +153,7 @@ static      const char * const      mandocerrs[MANDOCERR_MAX] = {
 
        /* related to missing macro arguments */
        "skipping empty macro",
+       "argument count wrong",
        "missing display type",
        "list type must come first",
        "tag lists require a width argument",
@@ -804,6 +805,14 @@ rerun:
                        break;
                }
 
+               /*
+                * If we encounter errors in the recursive parsebuf()
+                * call, make sure we don't continue parsing.
+                */
+
+               if (MANDOCLEVEL_FATAL <= file_status)
+                       break;
+
                /*
                 * If input parsers have not been allocated, do so now.
                 * We keep these instanced betwen parsers, but set them