diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2017-05-04 17:48:28 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2017-05-04 17:48:28 +0000 |
commit | 5fbabdf032b370e99e8685958b6e15eb3b2ff0f7 (patch) | |
tree | 56bbeb9f07b66610d5173e36db18df3fba402155 /mdoc_man.c | |
parent | 90c0bcfc5ca59192e72f849591c6ec10e8048bf0 (diff) | |
download | mandoc-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.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -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. |