]> git.cameronkatri.com Git - mandoc.git/blobdiff - main.c
When finding the roff .it request (line trap),
[mandoc.git] / main.c
diff --git a/main.c b/main.c
index d028a810243f915a3dfeba7ad2b363fc8195527b..a29c71b2336c7ed73730316df17a9f32f5f448f8 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1,6 +1,6 @@
-/*     $Id: main.c,v 1.130 2011/01/01 16:18:39 kristaps Exp $ */
+/*     $Id: main.c,v 1.139 2011/01/22 13:16:02 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,10 +153,12 @@ 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",
        "missing font type",
+       "skipping end of block that is not open",
 
        /* related to bad macro arguments */
        "skipping argument",
@@ -176,19 +178,25 @@ static    const char * const      mandocerrs[MANDOCERR_MAX] = {
        "bad comment style",
        "unknown escape sequence",
        "unterminated quoted string",
-
+       
        "generic error",
 
+       /* related to tables */
        "bad table syntax",
        "bad table option",
        "bad table layout",
        "no table layout cells specified",
        "no table data cells specified",
+       "ignore data in cell",
+       "data block still open",
+       "ignoring extra data cells",
+
        "input stack limit exceeded, infinite loop?",
        "skipping bad character",
+       "escaped character not allowed in a name",
        "skipping text before the first section header",
        "skipping unknown macro",
-       "NOT IMPLEMENTED: skipping request",
+       "NOT IMPLEMENTED, please use groff: skipping request",
        "line scope broken",
        "argument count wrong",
        "skipping end of block that is not open",
@@ -800,6 +808,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