=================================================================== RCS file: /cvs/mandoc/man_html.c,v retrieving revision 1.113 retrieving revision 1.118 diff -u -p -r1.113 -r1.118 --- mandoc/man_html.c 2015/04/02 21:36:49 1.113 +++ mandoc/man_html.c 2015/09/26 00:54:03 1.118 @@ -1,4 +1,4 @@ -/* $Id: man_html.c,v 1.113 2015/04/02 21:36:49 schwarze Exp $ */ +/* $Id: man_html.c,v 1.118 2015/09/26 00:54:03 schwarze Exp $ */ /* * Copyright (c) 2008-2012, 2014 Kristaps Dzonsons * Copyright (c) 2013, 2014, 2015 Ingo Schwarze @@ -37,8 +37,8 @@ #define INDENT 5 -#define MAN_ARGS const struct man_meta *man, \ - const struct man_node *n, \ +#define MAN_ARGS const struct roff_meta *man, \ + const struct roff_node *n, \ struct mhtml *mh, \ struct html *h @@ -53,12 +53,11 @@ struct htmlman { }; static void print_bvspace(struct html *, - const struct man_node *); -static void print_man(MAN_ARGS); + const struct roff_node *); static void print_man_head(MAN_ARGS); static void print_man_nodelist(MAN_ARGS); static void print_man_node(MAN_ARGS); -static int a2width(const struct man_node *, +static int a2width(const struct roff_node *, struct roffsu *); static int man_B_pre(MAN_ARGS); static int man_HP_pre(MAN_ARGS); @@ -130,7 +129,7 @@ static const struct htmlman mans[MAN_MAX] = { * first, print it. */ static void -print_bvspace(struct html *h, const struct man_node *n) +print_bvspace(struct html *h, const struct roff_node *n) { if (n->body && n->body->child) @@ -145,36 +144,31 @@ print_bvspace(struct html *h, const struct man_node *n } void -html_man(void *arg, const struct man *man) +html_man(void *arg, const struct roff_man *man) { struct mhtml mh; - - memset(&mh, 0, sizeof(struct mhtml)); - print_man(man_meta(man), man_node(man), &mh, (struct html *)arg); - putchar('\n'); -} - -static void -print_man(MAN_ARGS) -{ - struct tag *t, *tt; struct htmlpair tag; + struct html *h; + struct tag *t, *tt; + memset(&mh, 0, sizeof(mh)); PAIR_CLASS_INIT(&tag, "mandoc"); + h = (struct html *)arg; if ( ! (HTML_FRAGMENT & h->oflags)) { print_gen_decls(h); t = print_otag(h, TAG_HTML, 0, NULL); tt = print_otag(h, TAG_HEAD, 0, NULL); - print_man_head(man, n, mh, h); + print_man_head(&man->meta, man->first, &mh, h); print_tagq(h, tt); print_otag(h, TAG_BODY, 0, NULL); print_otag(h, TAG_DIV, 1, &tag); } else t = print_otag(h, TAG_DIV, 1, &tag); - print_man_nodelist(man, n, mh, h); + print_man_nodelist(&man->meta, man->first, &mh, h); print_tagq(h, t); + putchar('\n'); } static void @@ -280,7 +274,7 @@ print_man_node(MAN_ARGS) } static int -a2width(const struct man_node *n, struct roffsu *su) +a2width(const struct roff_node *n, struct roffsu *su) { if (n->type != ROFFT_TEXT) @@ -348,8 +342,8 @@ man_root_post(MAN_ARGS) PAIR_CLASS_INIT(&tag, "foot-os"); print_otag(h, TAG_TD, 1, &tag); - if (man->source) - print_text(h, man->source); + if (man->os) + print_text(h, man->os); print_tagq(h, t); } @@ -400,7 +394,7 @@ man_SH_pre(MAN_ARGS) static int man_alt_pre(MAN_ARGS) { - const struct man_node *nn; + const struct roff_node *nn; int i, savelit; enum htmltag fp; struct tag *t; @@ -433,7 +427,6 @@ man_alt_pre(MAN_ARGS) break; default: abort(); - /* NOTREACHED */ } if (i) @@ -496,7 +489,7 @@ man_PP_pre(MAN_ARGS) static int man_IP_pre(MAN_ARGS) { - const struct man_node *nn; + const struct roff_node *nn; if (n->type == ROFFT_BODY) { print_otag(h, TAG_DD, 0, NULL); @@ -535,7 +528,7 @@ man_HP_pre(MAN_ARGS) { struct htmlpair tag[2]; struct roffsu su; - const struct man_node *np; + const struct roff_node *np; if (n->type == ROFFT_HEAD) return(0);