diff options
| author | 2017-05-04 17:48:24 +0000 | |
|---|---|---|
| committer | 2017-05-04 17:48:24 +0000 | |
| commit | 294785321bb07890bc9fa64bd5e43c7401270526 (patch) | |
| tree | 2f643481cc985e56067125e0023464d2f1b10913 /usr.bin/mandoc/mdoc_validate.c | |
| parent | Report error for vmctl commands that need root privileges. (diff) | |
| download | wireguard-openbsd-294785321bb07890bc9fa64bd5e43c7401270526.tar.xz wireguard-openbsd-294785321bb07890bc9fa64bd5e43c7401270526.zip | |
Parser reorg:
Generate the first node on the roff level: .br
Fix some column numbers in diagnostic messages while here.
Diffstat (limited to 'usr.bin/mandoc/mdoc_validate.c')
| -rw-r--r-- | usr.bin/mandoc/mdoc_validate.c | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/usr.bin/mandoc/mdoc_validate.c b/usr.bin/mandoc/mdoc_validate.c index 2450bfb10be..b73c93416e3 100644 --- a/usr.bin/mandoc/mdoc_validate.c +++ b/usr.bin/mandoc/mdoc_validate.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mdoc_validate.c,v 1.238 2017/04/29 12:43:55 schwarze Exp $ */ +/* $OpenBSD: mdoc_validate.c,v 1.239 2017/05/04 17:48:24 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2010-2017 Ingo Schwarze <schwarze@openbsd.org> @@ -225,7 +225,6 @@ static const v_post __mdoc_valids[MDOC_MAX - MDOC_Dd] = { post_en, /* En */ post_xx, /* Dx */ NULL, /* %Q */ - post_par, /* br */ post_par, /* sp */ NULL, /* %U */ NULL, /* Ta */ @@ -325,6 +324,18 @@ mdoc_node_validate(struct roff_man *mdoc) /* Call the macro's postprocessor. */ + if (n->tok < ROFF_MAX) { + switch(n->tok) { + case ROFF_br: + post_par(mdoc); + break; + default: + abort(); + } + break; + } + + assert(n->tok >= MDOC_Dd && n->tok < MDOC_MAX); p = mdoc_valids + n->tok; if (*p) (*p)(mdoc); @@ -1298,7 +1309,7 @@ post_bl_block(POST_ARGS) switch (nc->tok) { case MDOC_Pp: case MDOC_Lp: - case MDOC_br: + case ROFF_br: break; default: nc = NULL; @@ -2052,7 +2063,7 @@ post_prevpar(POST_ARGS) if (n->prev->tok != MDOC_Pp && n->prev->tok != MDOC_Lp && - n->prev->tok != MDOC_br) + n->prev->tok != ROFF_br) return; if (n->tok == MDOC_Bl && n->norm->Bl.comp) return; @@ -2073,7 +2084,7 @@ post_par(POST_ARGS) struct roff_node *np; np = mdoc->last; - if (np->tok != MDOC_br && np->tok != MDOC_sp) + if (np->tok != ROFF_br && np->tok != MDOC_sp) post_prevpar(mdoc); if (np->tok == MDOC_sp) { @@ -2091,8 +2102,8 @@ post_par(POST_ARGS) if (np->tok != MDOC_Sh && np->tok != MDOC_Ss) return; } else if (np->tok != MDOC_Pp && np->tok != MDOC_Lp && - (mdoc->last->tok != MDOC_br || - (np->tok != MDOC_sp && np->tok != MDOC_br))) + (mdoc->last->tok != ROFF_br || + (np->tok != MDOC_sp && np->tok != ROFF_br))) return; mandoc_vmsg(MANDOCERR_PAR_SKIP, mdoc->parse, |
