diff options
author | 2018-12-31 08:38:17 +0000 | |
---|---|---|
committer | 2018-12-31 08:38:17 +0000 | |
commit | 7faedc4a8ed073e49682a395ba802df3811ec609 (patch) | |
tree | 1cce5e00e1abd058d46f4c2c344df08d3edcf902 /usr.bin/mandoc/man_validate.c | |
parent | Store the fill mode with a new flag NODE_NOFILL in every node, (diff) | |
download | wireguard-openbsd-7faedc4a8ed073e49682a395ba802df3811ec609.tar.xz wireguard-openbsd-7faedc4a8ed073e49682a395ba802df3811ec609.zip |
Use the new flag NODE_NOFILL in the validators, which is sometimes
simpler and always more robust. In particular, move the nesting
warnings for .EX and .EE from man_state(), where they were misplaced,
to the man(7) validator.
Diffstat (limited to 'usr.bin/mandoc/man_validate.c')
-rw-r--r-- | usr.bin/mandoc/man_validate.c | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/usr.bin/mandoc/man_validate.c b/usr.bin/mandoc/man_validate.c index 9fd8d7bc077..7523d0404c8 100644 --- a/usr.bin/mandoc/man_validate.c +++ b/usr.bin/mandoc/man_validate.c @@ -1,4 +1,4 @@ -/* $OpenBSD: man_validate.c,v 1.114 2018/12/31 07:07:43 schwarze Exp $ */ +/* $OpenBSD: man_validate.c,v 1.115 2018/12/31 08:38:17 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2010, 2012-2018 Ingo Schwarze <schwarze@openbsd.org> @@ -46,6 +46,8 @@ static void check_root(CHKARGS); static void check_text(CHKARGS); static void post_AT(CHKARGS); +static void post_EE(CHKARGS); +static void post_EX(CHKARGS); static void post_IP(CHKARGS); static void post_OP(CHKARGS); static void post_SH(CHKARGS); @@ -86,8 +88,8 @@ static const v_check man_valids[MAN_MAX - MAN_TH] = { NULL, /* SY */ NULL, /* YS */ post_OP, /* OP */ - NULL, /* EX */ - NULL, /* EE */ + post_EX, /* EX */ + post_EE, /* EE */ post_UR, /* UR */ NULL, /* UE */ post_UR, /* MT */ @@ -204,7 +206,7 @@ check_text(CHKARGS) { char *cp, *p; - if (man->flags & ROFF_NOFILL) + if (n->flags & NODE_NOFILL) return; cp = n->string; @@ -214,6 +216,20 @@ check_text(CHKARGS) } static void +post_EE(CHKARGS) +{ + if ((n->flags & NODE_NOFILL) == 0) + mandoc_msg(MANDOCERR_FI_SKIP, n->line, n->pos, "EE"); +} + +static void +post_EX(CHKARGS) +{ + if (n->flags & NODE_NOFILL) + mandoc_msg(MANDOCERR_NF_SKIP, n->line, n->pos, "EX"); +} + +static void post_OP(CHKARGS) { |