aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mdoc_term.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2010-06-10 23:24:37 +0000
committerIngo Schwarze <schwarze@openbsd.org>2010-06-10 23:24:37 +0000
commit74ba6bc0c8674c837bcc6219e1d4c25c9700791c (patch)
tree375c8862df0bd8d803e86767727b0dfab8d5248d /mdoc_term.c
parent151317239c987cf45872d3ee4ec105feb30ddcc9 (diff)
downloadmandoc-74ba6bc0c8674c837bcc6219e1d4c25c9700791c.tar.gz
mandoc-74ba6bc0c8674c837bcc6219e1d4c25c9700791c.tar.zst
mandoc-74ba6bc0c8674c837bcc6219e1d4c25c9700791c.zip
Fix a regression that crept in in man_term.c 1.73 and mdoc_term.c 1.144.
When the title line uses special characters, mandoc will segfault. Thus, first set up the character tables, then print the header, as we always did. Found in OpenBSD /usr/src/usr.sbin/bind/bin/check/named-checkconf.8. While here, set p->tabwidth in terminal_man() for symmetry with terminal_mdoc(), as suggested by millert@ (and already committed to OpenBSD earlier). Since 5 is the default, this is not strictly required, but it is certainly clearer and more robust. "looks fine" kristaps@
Diffstat (limited to 'mdoc_term.c')
-rw-r--r--mdoc_term.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/mdoc_term.c b/mdoc_term.c
index 20ce1076..7b590ed7 100644
--- a/mdoc_term.c
+++ b/mdoc_term.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc_term.c,v 1.145 2010/06/09 08:07:13 kristaps Exp $ */
+/* $Id: mdoc_term.c,v 1.146 2010/06/10 23:24:37 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -276,9 +276,6 @@ terminal_mdoc(void *arg, const struct mdoc *mdoc)
p->maxrmargin = p->defrmargin;
p->tabwidth = 5;
- term_begin(p, print_mdoc_head,
- print_mdoc_foot, mdoc_meta(mdoc));
-
if (NULL == p->symtab)
switch (p->enc) {
case (TERMENC_ASCII):
@@ -292,6 +289,8 @@ terminal_mdoc(void *arg, const struct mdoc *mdoc)
n = mdoc_node(mdoc);
m = mdoc_meta(mdoc);
+ term_begin(p, print_mdoc_head, print_mdoc_foot, m);
+
if (n->child)
print_mdoc_nodelist(p, NULL, m, n->child);