summaryrefslogtreecommitdiffstats
path: root/mdoc_man.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-05-04 17:48:28 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-05-04 17:48:28 +0000
commit5fbabdf032b370e99e8685958b6e15eb3b2ff0f7 (patch)
tree56bbeb9f07b66610d5173e36db18df3fba402155 /mdoc_man.c
parent90c0bcfc5ca59192e72f849591c6ec10e8048bf0 (diff)
downloadmandoc-5fbabdf032b370e99e8685958b6e15eb3b2ff0f7.tar.gz
Parser reorg:
Generate the first node on the roff level: .br Fix some column numbers in diagnostic messages while here.
Diffstat (limited to 'mdoc_man.c')
-rw-r--r--mdoc_man.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/mdoc_man.c b/mdoc_man.c
index cf622842..36242441 100644
--- a/mdoc_man.c
+++ b/mdoc_man.c
@@ -20,6 +20,7 @@
#include <assert.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
#include "mandoc_aux.h"
@@ -238,7 +239,6 @@ static const struct manact __manacts[MDOC_MAX - MDOC_Dd] = {
{ cond_body, pre_en, post_en, NULL, NULL }, /* En */
{ NULL, NULL, NULL, NULL, NULL }, /* Dx */
{ NULL, NULL, post_percent, NULL, NULL }, /* %Q */
- { NULL, pre_br, NULL, NULL, NULL }, /* br */
{ NULL, pre_sp, post_sp, NULL, NULL }, /* sp */
{ NULL, NULL, post_percent, NULL, NULL }, /* %U */
{ NULL, NULL, NULL, NULL, NULL }, /* Ta */
@@ -651,7 +651,16 @@ print_node(DECL_ARGS)
outflags &= ~(MMAN_spc | MMAN_spc_force);
else if (outflags & MMAN_Sm)
outflags |= MMAN_spc;
+ } else if (n->tok < ROFF_MAX) {
+ switch (n->tok) {
+ case ROFF_br:
+ pre_br(meta, n);
+ break;
+ default:
+ abort();
+ }
} else {
+ assert(n->tok >= MDOC_Dd && n->tok < MDOC_MAX);
/*
* Conditionally run the pre-node action handler for a
* node.