=================================================================== RCS file: /cvs/mandoc/man_html.c,v retrieving revision 1.153 retrieving revision 1.154 diff -u -p -r1.153 -r1.154 --- mandoc/man_html.c 2018/07/27 17:49:31 1.153 +++ mandoc/man_html.c 2018/08/16 23:43:37 1.154 @@ -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 * Copyright (c) 2013,2014,2015,2017,2018 Ingo Schwarze @@ -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;