=================================================================== RCS file: /cvs/mandoc/html.c,v retrieving revision 1.51 retrieving revision 1.54 diff -u -p -r1.51 -r1.54 --- mandoc/html.c 2009/09/21 14:56:56 1.51 +++ mandoc/html.c 2009/10/03 15:26:26 1.54 @@ -1,4 +1,4 @@ -/* $Id: html.c,v 1.51 2009/09/21 14:56:56 kristaps Exp $ */ +/* $Id: html.c,v 1.54 2009/10/03 15:26:26 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -73,6 +73,7 @@ static const char *const htmlattrs[ATTR_MAX] = { "style", "width", "valign", + "target", }; #ifdef __linux__ @@ -83,11 +84,12 @@ void * html_alloc(char *outopts) { struct html *h; - char *toks[3], *v; + char *toks[4], *v; toks[0] = "style"; - toks[1] = "base"; - toks[2] = NULL; + toks[1] = "man"; + toks[2] = "includes"; + toks[3] = NULL; if (NULL == (h = calloc(1, sizeof(struct html)))) return(NULL); @@ -106,8 +108,11 @@ html_alloc(char *outopts) h->style = v; break; case (1): - h->base = v; + h->base_man = v; break; + case (2): + h->base_includes = v; + break; default: break; } @@ -137,8 +142,11 @@ html_free(void *p) free(tag); } + if (h->buf) + free(h->buf); if (h->symtab) chars_free(h->symtab); + free(h); } @@ -171,12 +179,6 @@ print_gen_head(struct html *h) tag[3].val = "all"; print_otag(h, TAG_LINK, 4, tag); } - - if (h->base) { - tag[0].key = ATTR_HREF; - tag[1].val = h->base; - print_otag(h, TAG_BASE, 1, tag); - } } @@ -424,7 +426,8 @@ print_text(struct html *h, const char *p) case(']'): /* FALLTHROUGH */ case('}'): - h->flags |= HTML_NOSPACE; + if ( ! (HTML_IGNDELIM & h->flags)) + h->flags |= HTML_NOSPACE; break; default: break;