=================================================================== RCS file: /cvs/mandoc/mdoc_html.c,v retrieving revision 1.276 retrieving revision 1.277 diff -u -p -r1.276 -r1.277 --- mandoc/mdoc_html.c 2017/03/14 01:35:15 1.276 +++ mandoc/mdoc_html.c 2017/03/15 11:29:53 1.277 @@ -1,4 +1,4 @@ -/* $Id: mdoc_html.c,v 1.276 2017/03/14 01:35:15 schwarze Exp $ */ +/* $Id: mdoc_html.c,v 1.277 2017/03/15 11:29:53 schwarze Exp $ */ /* * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons * Copyright (c) 2014, 2015, 2016, 2017 Ingo Schwarze @@ -49,7 +49,6 @@ struct htmlmdoc { }; static char *cond_id(const struct roff_node *); -static char *make_id(const struct roff_node *); static void print_mdoc_head(MDOC_ARGS); static void print_mdoc_node(MDOC_ARGS); static void print_mdoc_nodelist(MDOC_ARGS); @@ -478,28 +477,6 @@ mdoc_root_pre(MDOC_ARGS) } static char * -make_id(const struct roff_node *n) -{ - const struct roff_node *nch; - char *buf, *cp; - - for (nch = n->child; nch != NULL; nch = nch->next) - if (nch->type != ROFFT_TEXT) - return NULL; - - buf = NULL; - deroff(&buf, n); - - /* http://www.w3.org/TR/html5/dom.html#the-id-attribute */ - - for (cp = buf; *cp != '\0'; cp++) - if (*cp == ' ') - *cp = '_'; - - return buf; -} - -static char * cond_id(const struct roff_node *n) { if (n->child != NULL && @@ -511,7 +488,7 @@ cond_id(const struct roff_node *n) (n->parent->tok == MDOC_Xo && n->parent->parent->prev == NULL && n->parent->parent->parent->tok == MDOC_It))) - return make_id(n); + return html_make_id(n); return NULL; } @@ -522,7 +499,7 @@ mdoc_sh_pre(MDOC_ARGS) switch (n->type) { case ROFFT_HEAD: - id = make_id(n); + id = html_make_id(n); print_otag(h, TAG_H1, "cTi", "Sh", id); print_otag(h, TAG_A, "chR", "selflink", id); free(id); @@ -545,7 +522,7 @@ mdoc_ss_pre(MDOC_ARGS) if (n->type != ROFFT_HEAD) return 1; - id = make_id(n); + id = html_make_id(n); print_otag(h, TAG_H2, "cTi", "Ss", id); print_otag(h, TAG_A, "chR", "selflink", id); free(id); @@ -955,7 +932,7 @@ mdoc_sx_pre(MDOC_ARGS) { char *id; - id = make_id(n); + id = html_make_id(n); print_otag(h, TAG_A, "cThR", "Sx", id); free(id); return 1; @@ -1128,7 +1105,7 @@ mdoc_er_pre(MDOC_ARGS) (n->parent->tok == MDOC_It || (n->parent->tok == MDOC_Bq && n->parent->parent->parent->tok == MDOC_It)) ? - make_id(n) : NULL; + html_make_id(n) : NULL; if (id != NULL) print_otag(h, TAG_A, "chR", "selflink", id);