=================================================================== RCS file: /cvs/mandoc/html.c,v retrieving revision 1.58 retrieving revision 1.62 diff -u -p -r1.58 -r1.62 --- mandoc/html.c 2009/10/07 12:35:23 1.58 +++ mandoc/html.c 2009/10/09 06:54:11 1.62 @@ -1,4 +1,4 @@ -/* $Id: html.c,v 1.58 2009/10/07 12:35:23 kristaps Exp $ */ +/* $Id: html.c,v 1.62 2009/10/09 06:54:11 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -549,7 +549,8 @@ buffmt_includes(struct html *h, const char *name) const char *p, *pp; pp = h->base_includes; - while ((p = strchr(pp, '%'))) { + + while (NULL != (p = strchr(pp, '%'))) { bufncat(h, pp, (size_t)(p - pp)); switch (*(p + 1)) { case('I'): @@ -573,7 +574,9 @@ buffmt_man(struct html *h, const char *p, *pp; pp = h->base_man; - while ((p = strchr(pp, '%'))) { + + /* LINTED */ + while (NULL != (p = strchr(pp, '%'))) { bufncat(h, pp, (size_t)(p - pp)); switch (*(p + 1)) { case('S'): @@ -596,7 +599,7 @@ buffmt_man(struct html *h, void bufcat_su(struct html *h, const char *p, const struct roffsu *su) { - int v; + double v; char *u; v = su->scale; @@ -614,14 +617,21 @@ bufcat_su(struct html *h, const char *p, const struct case (SCALE_PT): u = "pt"; break; + case (SCALE_EM): + u = "em"; + break; case (SCALE_MM): if (0 == (v /= 100)) v = 1; u = "em"; break; + case (SCALE_EN): + u = "ex"; + break; + case (SCALE_BU): + u = "ex"; + break; case (SCALE_VS): - /* FALLTHROUGH */ - case (SCALE_EM): u = "em"; break; default: @@ -629,5 +639,9 @@ bufcat_su(struct html *h, const char *p, const struct break; } - buffmt(h, "%s: %d%s;", p, v, u); + if (su->pt) + buffmt(h, "%s: %f%s;", p, v, u); + else + /* LINTED */ + buffmt(h, "%s: %d%s;", p, (int)v, u); }