diff options
Diffstat (limited to 'read.c')
-rw-r--r-- | read.c | 22 |
1 files changed, 9 insertions, 13 deletions
@@ -1,4 +1,4 @@ -/* $Id: read.c,v 1.142 2015/10/06 18:32:19 schwarze Exp $ */ +/* $Id: read.c,v 1.143 2015/10/11 21:12:55 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2010-2015 Ingo Schwarze <schwarze@openbsd.org> @@ -26,6 +26,7 @@ #include <assert.h> #include <ctype.h> +#include <err.h> #include <errno.h> #include <fcntl.h> #include <stdarg.h> @@ -612,10 +613,9 @@ read_whole_file(struct mparse *curp, const char *file, int fd, #if HAVE_MMAP struct stat st; - if (-1 == fstat(fd, &st)) { - perror(file); - exit((int)MANDOCLEVEL_SYSERR); - } + + if (fstat(fd, &st) == -1) + err((int)MANDOCLEVEL_SYSERR, "%s", file); /* * If we're a regular file, try just reading in the whole entry @@ -638,10 +638,8 @@ read_whole_file(struct mparse *curp, const char *file, int fd, #endif if (curp->gzip) { - if ((gz = gzdopen(fd, "rb")) == NULL) { - perror(file); - exit((int)MANDOCLEVEL_SYSERR); - } + if ((gz = gzdopen(fd, "rb")) == NULL) + err((int)MANDOCLEVEL_SYSERR, "%s", file); } else gz = NULL; @@ -670,10 +668,8 @@ read_whole_file(struct mparse *curp, const char *file, int fd, fb->sz = off; return 1; } - if (ssz == -1) { - perror(file); - exit((int)MANDOCLEVEL_SYSERR); - } + if (ssz == -1) + err((int)MANDOCLEVEL_SYSERR, "%s", file); off += (size_t)ssz; } |