diff options
-rw-r--r-- | html.c | 18 | ||||
-rw-r--r-- | html.h | 6 | ||||
-rw-r--r-- | man_html.c | 4 | ||||
-rw-r--r-- | mdoc_html.c | 4 |
4 files changed, 14 insertions, 18 deletions
@@ -132,7 +132,7 @@ html_alloc(const struct manoutput *outopts) h = mandoc_calloc(1, sizeof(struct html)); - h->tags.head = NULL; + h->tag = NULL; h->style = outopts->style; h->base_man = outopts->man; h->base_includes = outopts->includes; @@ -150,8 +150,8 @@ html_free(void *p) h = (struct html *)p; - while ((tag = h->tags.head) != NULL) { - h->tags.head = tag->next; + while ((tag = h->tag) != NULL) { + h->tag = tag->next; free(tag); } @@ -455,13 +455,13 @@ print_otag(struct html *h, enum htmltag tag, const char *fmt, ...) tflags = htmltags[tag].flags; - /* Push this tags onto the stack of open scopes. */ + /* Push this tag onto the stack of open scopes. */ if ((tflags & HTML_NOSTACK) == 0) { t = mandoc_malloc(sizeof(struct tag)); t->tag = tag; - t->next = h->tags.head; - h->tags.head = t; + t->next = h->tag; + h->tag = t; } else t = NULL; @@ -699,7 +699,7 @@ print_ctag(struct html *h, struct tag *tag) if (tflags & HTML_NLAFTER) print_endline(h); - h->tags.head = tag->next; + h->tag = tag->next; free(tag); } @@ -760,7 +760,7 @@ print_tagq(struct html *h, const struct tag *until) { struct tag *tag; - while ((tag = h->tags.head) != NULL) { + while ((tag = h->tag) != NULL) { print_ctag(h, tag); if (until && tag == until) return; @@ -772,7 +772,7 @@ print_stagq(struct html *h, const struct tag *suntil) { struct tag *tag; - while ((tag = h->tags.head) != NULL) { + while ((tag = h->tag) != NULL) { if (suntil && tag == suntil) return; print_ctag(h, tag); @@ -78,10 +78,6 @@ struct tag { enum htmltag tag; }; -struct tagq { - struct tag *head; -}; - struct html { int flags; #define HTML_NOSPACE (1 << 0) /* suppress next space */ @@ -100,7 +96,7 @@ struct html { size_t col; /* current output byte position */ size_t bufcol; /* current buf byte position */ char buf[80]; /* output buffer */ - struct tagq tags; /* stack of open tags */ + struct tag *tag; /* last open tag */ struct rofftbl tbl; /* current table */ struct tag *tblt; /* current open table scope */ char *base_man; /* base for manpage href */ @@ -197,7 +197,7 @@ print_man_node(MAN_ARGS) struct tag *t; child = 1; - t = h->tags.head; + t = h->tag; if (t == mh->nofill) t = t->next; @@ -240,7 +240,7 @@ print_man_node(MAN_ARGS) */ if (h->tblt) { print_tblclose(h); - t = h->tags.head; + t = h->tag; } if (mans[n->tok].pre) child = (*mans[n->tok].pre)(man, n, mh, h); diff --git a/mdoc_html.c b/mdoc_html.c index 158c1e7f..ecb72f7e 100644 --- a/mdoc_html.c +++ b/mdoc_html.c @@ -349,7 +349,7 @@ print_mdoc_node(MDOC_ARGS) return; child = 1; - t = h->tags.head; + t = h->tag; n->flags &= ~NODE_ENDED; switch (n->type) { @@ -389,7 +389,7 @@ print_mdoc_node(MDOC_ARGS) */ if (h->tblt != NULL) { print_tblclose(h); - t = h->tags.head; + t = h->tag; } assert(h->tblt == NULL); if (mdocs[n->tok].pre && (n->end == ENDBODY_NOT || n->child)) |