=================================================================== RCS file: /cvs/mandoc/mdoc_html.c,v retrieving revision 1.193 retrieving revision 1.199 diff -u -p -r1.193 -r1.199 --- mandoc/mdoc_html.c 2014/07/30 00:19:16 1.193 +++ mandoc/mdoc_html.c 2014/08/21 12:57:17 1.199 @@ -1,4 +1,4 @@ -/* $Id: mdoc_html.c,v 1.193 2014/07/30 00:19:16 schwarze Exp $ */ +/* $Id: mdoc_html.c,v 1.199 2014/08/21 12:57:17 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2014 Ingo Schwarze @@ -15,9 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include @@ -380,8 +378,9 @@ print_mdoc_head(MDOC_ARGS) print_gen_head(h); bufinit(h); - bufcat_fmt(h, "%s(%s)", meta->title, meta->msec); - + bufcat(h, meta->title); + if (meta->msec) + bufcat_fmt(h, "(%s)", meta->msec); if (meta->arch) bufcat_fmt(h, " (%s)", meta->arch); @@ -525,7 +524,11 @@ mdoc_root_pre(MDOC_ARGS) mandoc_asprintf(&volume, "%s (%s)", meta->vol, meta->arch); - mandoc_asprintf(&title, "%s(%s)", meta->title, meta->msec); + if (NULL == meta->msec) + title = mandoc_strdup(meta->title); + else + mandoc_asprintf(&title, "%s(%s)", + meta->title, meta->msec); PAIR_SUMMARY_INIT(&tag[0], "Document Header"); PAIR_CLASS_INIT(&tag[1], "head"); @@ -637,10 +640,11 @@ mdoc_fl_pre(MDOC_ARGS) print_text(h, "\\-"); - if (n->child) + if ( ! (n->nchild == 0 && + (n->next == NULL || + n->next->type == MDOC_TEXT || + n->next->flags & MDOC_LINE))) h->flags |= HTML_NOSPACE; - else if (n->next && n->next->line == n->line) - h->flags |= HTML_NOSPACE; return(1); } @@ -699,7 +703,7 @@ mdoc_nm_pre(MDOC_ARGS) if (0 == len && meta->name) len = html_strlen(meta->name); - SCALE_HS_INIT(&su, (double)len); + SCALE_HS_INIT(&su, len); bufinit(h); bufcat_su(h, "width", &su); PAIR_STYLE_INIT(&tag, h); @@ -1565,7 +1569,7 @@ mdoc_sp_pre(MDOC_ARGS) if ( ! a2roffsu(n->string, &su, SCALE_VS)) SCALE_VS_INIT(&su, atoi(n->string)); } else - su.scale = 0; + su.scale = 0.0; bufinit(h); bufcat_su(h, "height", &su);