diff options
-rw-r--r-- | main.c | 2 | ||||
-rw-r--r-- | read.c | 6 |
2 files changed, 5 insertions, 3 deletions
@@ -561,7 +561,7 @@ main(int argc, char *argv[]) } } else mandoc_msg(MANDOCERR_FILE, 0, 0, - "%s", strerror(errno)); + "%s: %s", thisarg, strerror(errno)); if (curp.wstop && mandoc_msg_getrc() != MANDOCLEVEL_OK) break; @@ -1,7 +1,7 @@ /* $Id$ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> - * Copyright (c) 2010-2018 Ingo Schwarze <schwarze@openbsd.org> + * Copyright (c) 2010-2019 Ingo Schwarze <schwarze@openbsd.org> * Copyright (c) 2010, 2012 Joerg Sonnenberger <joerg@netbsd.org> * * Permission to use, copy, modify, and distribute this software for any @@ -607,7 +607,7 @@ int mparse_open(struct mparse *curp, const char *file) { char *cp; - int fd; + int fd, save_errno; cp = strrchr(file, '.'); curp->gzip = (cp != NULL && ! strcmp(cp + 1, "gz")); @@ -623,9 +623,11 @@ mparse_open(struct mparse *curp, const char *file) */ if ( ! curp->gzip) { + save_errno = errno; mandoc_asprintf(&cp, "%s.gz", file); fd = open(cp, O_RDONLY); free(cp); + errno = save_errno; if (fd != -1) { curp->gzip = 1; return fd; |