]> git.cameronkatri.com Git - mandoc.git/blobdiff - read.c
Clean up the warnings related to document structure.
[mandoc.git] / read.c
diff --git a/read.c b/read.c
index 1548c9a00c741e7f0eca4222f87c774edfd0f26f..097a62e8abad0bb41b6bf8d79918fc268897e84f 100644 (file)
--- a/read.c
+++ b/read.c
@@ -1,4 +1,4 @@
-/*     $Id: read.c,v 1.47 2014/04/20 16:46:05 schwarze Exp $ */
+/*     $Id: read.c,v 1.54 2014/07/01 22:37:15 schwarze Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010-2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -93,24 +93,26 @@ static      const char * const      mandocerrs[MANDOCERR_MAX] = {
        "generic warning",
 
        /* related to the prologue */
-       "no title in document",
-       "document title should be all caps",
+       "missing .TH macro, using \"unknown 1\"",
+       "lower case character in document title",
        "unknown manual section",
        "unknown manual volume or arch",
-       "date missing, using today's date",
+       "missing date, using today's date",
        "cannot parse date, using it verbatim",
        "prologue macros out of order",
        "duplicate prologue macro",
-       "macro not allowed in prologue",
-       "macro not allowed in body",
+       "incomplete prologue, terminated by",
+       "skipping prologue macro in body",
 
        /* related to document structure */
        ".so is fragile, better use ln(1)",
-       "NAME section must come first",
+       "no document body",
+       "content before first section header",
+       "first section is not \"NAME\"",
        "bad NAME section contents",
        "sections out of conventional order",
-       "duplicate section name",
-       "section header suited to sections 2, 3, and 9 only",
+       "duplicate section title",
+       "unexpected section",
 
        /* related to macros and nesting */
        "skipping obsolete macro",
@@ -151,9 +153,6 @@ static      const char * const      mandocerrs[MANDOCERR_MAX] = {
        "bad escape sequence",
        "unterminated quoted string",
 
-       /* related to equations */
-       "unexpected literal in equation",
-
        "generic error",
 
        /* related to equations */
@@ -177,7 +176,7 @@ static      const char * const      mandocerrs[MANDOCERR_MAX] = {
        "skipping bad character",
        "escaped character not allowed in a name",
        "manual name not yet set",
-       "skipping text before the first section header",
+       "skipping text before first section header",
        "skipping unknown macro",
        "NOT IMPLEMENTED, please use groff: skipping request",
        "argument count wrong",
@@ -192,7 +191,6 @@ static      const char * const      mandocerrs[MANDOCERR_MAX] = {
        "request requires a numeric argument",
        "missing list type",
        "line argument(s) will be lost",
-       "body argument(s) will be lost",
 
        "generic fatal error",
 
@@ -204,12 +202,12 @@ static    const char * const      mandocerrs[MANDOCERR_MAX] = {
        "child violates parent syntax",
        "argument count wrong, violates syntax",
        "NOT IMPLEMENTED: .so with absolute path or \"..\"",
-       "no document body",
+       ".so request failed",
        "no document prologue",
        "static buffer exhausted",
 
        /* system errors */
-       "cannot open file",
+       NULL,
        "cannot stat file",
        "cannot read file",
 };
@@ -505,8 +503,12 @@ rerun:
                        if (curp->secondary)
                                curp->secondary->sz -= pos + 1;
                        mparse_readfd(curp, -1, ln.buf + of);
-                       if (MANDOCLEVEL_FATAL <= curp->file_status)
+                       if (MANDOCLEVEL_FATAL <= curp->file_status) {
+                               mandoc_vmsg(MANDOCERR_SO_FAIL,
+                                   curp, curp->line, pos,
+                                   ".so %s", ln.buf + of);
                                break;
+                       }
                        pos = 0;
                        continue;
                default:
@@ -684,7 +686,7 @@ mparse_end(struct mparse *curp)
        }
 
        if ( ! (curp->mdoc || curp->man || curp->sodest)) {
-               mandoc_msg(MANDOCERR_NOTMANUAL, curp, 1, 0, NULL);
+               mandoc_msg(MANDOCERR_NOTMANUAL, curp, 0, 0, NULL);
                curp->file_status = MANDOCLEVEL_FATAL;
                return;
        }
@@ -852,7 +854,7 @@ mandoc_vmsg(enum mandocerr t, struct mparse *m,
        va_list          ap;
 
        va_start(ap, fmt);
-       vsnprintf(buf, sizeof(buf) - 1, fmt, ap);
+       (void)vsnprintf(buf, sizeof(buf), fmt, ap);
        va_end(ap);
 
        mandoc_msg(t, m, ln, pos, buf);