diff options
author | 2018-08-16 23:43:37 +0000 | |
---|---|---|
committer | 2018-08-16 23:43:37 +0000 | |
commit | 3f485a7ff74c3707363ed47362ccc8a7855b0f58 (patch) | |
tree | 761851956b5a0c8c76dfcf290b64ad139a16eef6 /man_html.c | |
parent | 99622f1b4d341ddc21f96b55ae3addf4013cfb97 (diff) | |
download | mandoc-3f485a7ff74c3707363ed47362ccc8a7855b0f58.tar.gz mandoc-3f485a7ff74c3707363ed47362ccc8a7855b0f58.tar.zst mandoc-3f485a7ff74c3707363ed47362ccc8a7855b0f58.zip |
implement the GNU man-ext .TQ macro in man(7),
used for example by groff_diff(7)
Diffstat (limited to 'man_html.c')
-rw-r--r-- | man_html.c | 27 |
1 files changed, 14 insertions, 13 deletions
@@ -1,4 +1,4 @@ -/* $Id: man_html.c,v 1.153 2018/07/27 17:49:31 schwarze Exp $ */ +/* $Id: man_html.c,v 1.154 2018/08/16 23:43:37 schwarze Exp $ */ /* * Copyright (c) 2008-2012, 2014 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2013,2014,2015,2017,2018 Ingo Schwarze <schwarze@openbsd.org> @@ -75,6 +75,7 @@ static const struct htmlman __mans[MAN_MAX - MAN_TH] = { { man_SH_pre, NULL }, /* SH */ { man_SS_pre, NULL }, /* SS */ { man_IP_pre, NULL }, /* TP */ + { man_IP_pre, NULL }, /* TQ */ { man_PP_pre, NULL }, /* LP */ { man_PP_pre, NULL }, /* PP */ { man_PP_pre, NULL }, /* P */ @@ -518,25 +519,25 @@ man_IP_pre(MAN_ARGS) return 1; } - /* FIXME: width specification. */ - print_otag(h, TAG_DT, ""); - /* For IP, only print the first header element. */ - - if (MAN_IP == n->tok && n->child) - print_man_node(man, n->child, h); - - /* For TP, only print next-line header elements. */ - - if (MAN_TP == n->tok) { + switch(n->tok) { + case MAN_IP: /* Only print the first header element. */ + if (n->child != NULL) + print_man_node(man, n->child, h); + break; + case MAN_TP: /* Only print next-line header elements. */ + case MAN_TQ: nn = n->child; - while (NULL != nn && 0 == (NODE_LINE & nn->flags)) + while (nn != NULL && (NODE_LINE & nn->flags) == 0) nn = nn->next; - while (NULL != nn) { + while (nn != NULL) { print_man_node(man, nn, h); nn = nn->next; } + break; + default: + abort(); } return 0; |