=================================================================== RCS file: /cvs/mandoc/mdoc_html.c,v retrieving revision 1.174 retrieving revision 1.177 diff -u -p -r1.174 -r1.177 --- mandoc/mdoc_html.c 2011/07/23 22:57:13 1.174 +++ mandoc/mdoc_html.c 2011/08/18 09:16:01 1.177 @@ -1,4 +1,4 @@ -/* $Id: mdoc_html.c,v 1.174 2011/07/23 22:57:13 kristaps Exp $ */ +/* $Id: mdoc_html.c,v 1.177 2011/08/18 09:16:01 kristaps Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * @@ -34,7 +34,6 @@ #include "main.h" #define INDENT 5 -#define HALFINDENT 3 #define MDOC_ARGS const struct mdoc_meta *m, \ const struct mdoc_node *n, \ @@ -353,10 +352,8 @@ a2offs(const char *p, struct roffsu *su) SCALE_HS_INIT(su, INDENT); else if (0 == strcmp(p, "indent-two")) SCALE_HS_INIT(su, INDENT * 2); - else if ( ! a2roffsu(p, su, SCALE_MAX)) { - su->unit = SCALE_BU; - su->scale = html_strlen(p); - } + else if ( ! a2roffsu(p, su, SCALE_MAX)) + SCALE_HS_INIT(su, html_strlen(p)); } @@ -608,18 +605,22 @@ mdoc_sh_pre(MDOC_ARGS) bufinit(h); bufcat(h, "x"); - for (n = n->child; n; n = n->next) { + + for (n = n->child; n && MDOC_TEXT == n->type; ) { bufcat_id(h, n->string); - if (n->next) + if (NULL != (n = n->next)) bufcat_id(h, " "); } - PAIR_ID_INIT(&tag, h->buf); - print_otag(h, TAG_H1, 1, &tag); + if (NULL == n) { + PAIR_ID_INIT(&tag, h->buf); + print_otag(h, TAG_H1, 1, &tag); + } else + print_otag(h, TAG_H1, 0, NULL); + return(1); } - /* ARGSUSED */ static int mdoc_ss_pre(MDOC_ARGS) @@ -635,14 +636,19 @@ mdoc_ss_pre(MDOC_ARGS) bufinit(h); bufcat(h, "x"); - for (n = n->child; n; n = n->next) { + + for (n = n->child; n && MDOC_TEXT == n->type; ) { bufcat_id(h, n->string); - if (n->next) + if (NULL != (n = n->next)) bufcat_id(h, " "); } - PAIR_ID_INIT(&tag, h->buf); - print_otag(h, TAG_H2, 1, &tag); + if (NULL == n) { + PAIR_ID_INIT(&tag, h->buf); + print_otag(h, TAG_H2, 1, &tag); + } else + print_otag(h, TAG_H2, 0, NULL); + return(1); } @@ -1171,9 +1177,10 @@ mdoc_sx_pre(MDOC_ARGS) bufinit(h); bufcat(h, "#x"); - for (n = n->child; n; n = n->next) { + + for (n = n->child; n; ) { bufcat_id(h, n->string); - if (n->next) + if (NULL != (n = n->next)) bufcat_id(h, " "); } @@ -1984,7 +1991,7 @@ mdoc_li_pre(MDOC_ARGS) struct htmlpair tag; PAIR_CLASS_INIT(&tag, "lit"); - print_otag(h, TAG_SPAN, 1, &tag); + print_otag(h, TAG_CODE, 1, &tag); return(1); }