summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorschwarze <schwarze@openbsd.org>2017-01-09 01:36:22 +0000
committerschwarze <schwarze@openbsd.org>2017-01-09 01:36:22 +0000
commitbf7f6ba15f20ed52422a4de375f8f0d49e10b4d3 (patch)
tree85a088da988447164e6076dc0f4df54b8ad256b1
parentReplace hand-rolled for(;;) traversal of ctl_conns TAILQ with (diff)
downloadwireguard-openbsd-bf7f6ba15f20ed52422a4de375f8f0d49e10b4d3.tar.xz
wireguard-openbsd-bf7f6ba15f20ed52422a4de375f8f0d49e10b4d3.zip
Warnings and errors that occur during mdoc_validate()
or during man_validate() have to affect the mandoc(1) EXIT STATUS. Many thanks to <Yuri dot Pankov at gmail dot com> (illumos developer) for reporting this regression.
-rw-r--r--usr.bin/mandoc/main.c5
-rw-r--r--usr.bin/mandoc/mandoc.h3
-rw-r--r--usr.bin/mandoc/read.c9
3 files changed, 13 insertions, 4 deletions
diff --git a/usr.bin/mandoc/main.c b/usr.bin/mandoc/main.c
index e0893d19367..b030631f6bb 100644
--- a/usr.bin/mandoc/main.c
+++ b/usr.bin/mandoc/main.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: main.c,v 1.180 2016/09/18 15:45:50 schwarze Exp $ */
+/* $OpenBSD: main.c,v 1.181 2017/01/09 01:36:22 schwarze Exp $ */
/*
* Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2010-2012, 2014-2016 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2010-2012, 2014-2017 Ingo Schwarze <schwarze@openbsd.org>
* Copyright (c) 2010 Joerg Sonnenberger <joerg@netbsd.org>
*
* Permission to use, copy, modify, and distribute this software for any
@@ -751,6 +751,7 @@ parse(struct curparse *curp, int fd, const char *file)
break;
}
}
+ mparse_updaterc(curp->mp, &rc);
}
static void
diff --git a/usr.bin/mandoc/mandoc.h b/usr.bin/mandoc/mandoc.h
index 0ad279eb667..4c21dd1adcc 100644
--- a/usr.bin/mandoc/mandoc.h
+++ b/usr.bin/mandoc/mandoc.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: mandoc.h,v 1.154 2017/01/08 00:10:22 schwarze Exp $ */
+/* $OpenBSD: mandoc.h,v 1.155 2017/01/09 01:36:22 schwarze Exp $ */
/*
* Copyright (c) 2010, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -433,3 +433,4 @@ void mparse_result(struct mparse *,
const char *mparse_getkeep(const struct mparse *);
const char *mparse_strerror(enum mandocerr);
const char *mparse_strlevel(enum mandoclevel);
+void mparse_updaterc(struct mparse *, enum mandoclevel *);
diff --git a/usr.bin/mandoc/read.c b/usr.bin/mandoc/read.c
index 05591445668..48e13abbe11 100644
--- a/usr.bin/mandoc/read.c
+++ b/usr.bin/mandoc/read.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: read.c,v 1.129 2017/01/08 00:10:22 schwarze Exp $ */
+/* $OpenBSD: read.c,v 1.130 2017/01/09 01:36:22 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -848,6 +848,13 @@ mparse_result(struct mparse *curp, struct roff_man **man,
}
void
+mparse_updaterc(struct mparse *curp, enum mandoclevel *rc)
+{
+ if (curp->file_status > *rc)
+ *rc = curp->file_status;
+}
+
+void
mandoc_vmsg(enum mandocerr t, struct mparse *m,
int ln, int pos, const char *fmt, ...)
{