]> git.cameronkatri.com Git - mandoc.git/blobdiff - html.c
Moved output definitions into main.h.
[mandoc.git] / html.c
diff --git a/html.c b/html.c
index f61002dd6870a9a610ec22e5d1fae0e428f72349..623fa975bc71924b1a038a2308214316e5bbaae3 100644 (file)
--- a/html.c
+++ b/html.c
@@ -1,4 +1,4 @@
-/*     $Id: html.c,v 1.59 2009/10/07 14:39:00 kristaps Exp $ */
+/*     $Id: html.c,v 1.64 2009/10/13 10:57:25 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -21,6 +21,7 @@
 #include <err.h>
 #include <stdio.h>
 #include <stdarg.h>
+#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
 #include "out.h"
 #include "chars.h"
 #include "html.h"
+#include "main.h"
+
+#define        UNCONST(a)      ((void *)(uintptr_t)(const void *)(a))
 
 #define        DOCTYPE         "-//W3C//DTD HTML 4.01//EN"
 #define        DTD             "http://www.w3.org/TR/html4/strict.dtd"
 
 struct htmldata {
-       char             *name;
+       const char       *name;
        int               flags;
 #define        HTML_CLRLINE     (1 << 0)
 #define        HTML_NOSTACK     (1 << 1)
@@ -87,7 +91,8 @@ void *
 html_alloc(char *outopts)
 {
        struct html     *h;
-       char            *toks[4], *v;
+       const char      *toks[4];
+       char            *v;
 
        toks[0] = "style";
        toks[1] = "man";
@@ -106,7 +111,7 @@ html_alloc(char *outopts)
        }
 
        while (outopts && *outopts)
-               switch (getsubopt(&outopts, toks, &v)) {
+               switch (getsubopt(&outopts, UNCONST(toks), &v)) {
                case (0):
                        h->style = v;
                        break;
@@ -549,7 +554,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 +579,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,8 +604,8 @@ buffmt_man(struct html *h,
 void
 bufcat_su(struct html *h, const char *p, const struct roffsu *su)
 {
-       int              v;
-       char            *u;
+       double           v;
+       const char      *u;
 
        v = su->scale;
 
@@ -636,5 +644,9 @@ bufcat_su(struct html *h, const char *p, const struct roffsu *su)
                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);
 }