]> git.cameronkatri.com Git - mandoc.git/blobdiff - read.c
No longer use names that only occur in the SYNOPSIS section as names
[mandoc.git] / read.c
diff --git a/read.c b/read.c
index 2b3abde1dbcf1297b178a65b61b453b0a45fc91d..1af1b2836383d0ec15cf6dfea58a3e8fc8023aaa 100644 (file)
--- a/read.c
+++ b/read.c
@@ -1,4 +1,4 @@
-/*     $Id: read.c,v 1.190 2017/07/08 14:51:04 schwarze Exp $ */
+/*     $Id: read.c,v 1.192 2017/07/20 14:36:36 schwarze Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010-2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -24,9 +24,6 @@
 
 #include <assert.h>
 #include <ctype.h>
-#if HAVE_ERR
-#include <err.h>
-#endif
 #include <errno.h>
 #include <fcntl.h>
 #include <stdarg.h>
@@ -42,7 +39,6 @@
 #include "mdoc.h"
 #include "man.h"
 #include "libmandoc.h"
-#include "roff_int.h"
 
 #define        REPARSE_LIMIT   1000
 
@@ -343,7 +339,6 @@ choose_parser(struct mparse *curp)
 static int
 mparse_buf_r(struct mparse *curp, struct buf blk, size_t i, int start)
 {
-       const struct tbl_span   *span;
        struct buf       ln;
        const char      *save_file;
        char            *cp;
@@ -534,18 +529,7 @@ rerun:
                if (curp->man->macroset == MACROSET_NONE)
                        choose_parser(curp);
 
-               /*
-                * Lastly, push down into the parsers themselves.
-                * If libroff returns ROFF_TBL, then add it to the
-                * currently open parse.  Since we only get here if
-                * there does exist data (see tbl_data.c), we're
-                * guaranteed that something's been allocated.
-                */
-
-               if (rr == ROFF_TBL)
-                       while ((span = roff_span(curp->roff)) != NULL)
-                               roff_addtbl(curp->man, span);
-               else if ((curp->man->macroset == MACROSET_MDOC ?
+               if ((curp->man->macroset == MACROSET_MDOC ?
                    mdoc_parseln(curp->man, curp->line, ln.buf, of) :
                    man_parseln(curp->man, curp->line, ln.buf, of)) == 2)
                                break;
@@ -573,8 +557,11 @@ read_whole_file(struct mparse *curp, const char *file, int fd,
        size_t           off;
        ssize_t          ssz;
 
-       if (fstat(fd, &st) == -1)
-               err((int)MANDOCLEVEL_SYSERR, "%s", file);
+       if (fstat(fd, &st) == -1) {
+               mandoc_vmsg(MANDOCERR_FILE, curp, 0, 0,
+                   "fstat: %s", strerror(errno));
+               return 0;
+       }
 
        /*
         * If we're a regular file, try just reading in the whole entry
@@ -596,8 +583,11 @@ read_whole_file(struct mparse *curp, const char *file, int fd,
        }
 
        if (curp->gzip) {
-               if ((gz = gzdopen(fd, "rb")) == NULL)
-                       err((int)MANDOCLEVEL_SYSERR, "%s", file);
+               if ((gz = gzdopen(fd, "rb")) == NULL) {
+                       mandoc_vmsg(MANDOCERR_FILE, curp, 0, 0,
+                           "gzdopen: %s", strerror(errno));
+                       return 0;
+               }
        } else
                gz = NULL;
 
@@ -626,8 +616,11 @@ read_whole_file(struct mparse *curp, const char *file, int fd,
                        fb->sz = off;
                        return 1;
                }
-               if (ssz == -1)
-                       err((int)MANDOCLEVEL_SYSERR, "%s", file);
+               if (ssz == -1) {
+                       mandoc_vmsg(MANDOCERR_FILE, curp, 0, 0,
+                           "read: %s", strerror(errno));
+                       break;
+               }
                off += (size_t)ssz;
        }