diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-10-26 08:18:15 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-10-26 08:18:15 +0000 |
commit | b7c56901be15b5853782a4ab0a8f85b745792d05 (patch) | |
tree | cfa8c49e546acb1c55de7195efe25105b79cb65b /html.c | |
parent | 65f3d725ab6475bef0a83e1077c3ce2be3557598 (diff) | |
download | mandoc-b7c56901be15b5853782a4ab0a8f85b745792d05.tar.gz mandoc-b7c56901be15b5853782a4ab0a8f85b745792d05.tar.zst mandoc-b7c56901be15b5853782a4ab0a8f85b745792d05.zip |
Portability: replaced queue macros in html.c (Joerg Sonnenberger).
Fixed "-o" residue.
Added "-O" to usage() (-o didn't appear there either).
Diffstat (limited to 'html.c')
-rw-r--r-- | html.c | 30 |
1 files changed, 13 insertions, 17 deletions
@@ -1,4 +1,4 @@ -/* $Id: html.c,v 1.65 2009/10/20 05:45:21 kristaps Exp $ */ +/* $Id: html.c,v 1.66 2009/10/26 08:18:15 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se> * @@ -15,7 +15,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include <sys/types.h> -#include <sys/queue.h> #include <assert.h> #include <err.h> @@ -102,8 +101,8 @@ html_alloc(char *outopts) if (NULL == (h = calloc(1, sizeof(struct html)))) return(NULL); - SLIST_INIT(&h->tags); - SLIST_INIT(&h->ords); + h->tags.head = NULL; + h->ords.head = NULL; if (NULL == (h->symtab = chars_init(CHARS_HTML))) { free(h); @@ -138,15 +137,13 @@ html_free(void *p) h = (struct html *)p; - while ( ! SLIST_EMPTY(&h->ords)) { - ord = SLIST_FIRST(&h->ords); - SLIST_REMOVE_HEAD(&h->ords, entry); + while ((ord = h->ords.head) != NULL) { + h->ords.head = ord->next; free(ord); } - while ( ! SLIST_EMPTY(&h->tags)) { - tag = SLIST_FIRST(&h->tags); - SLIST_REMOVE_HEAD(&h->tags, entry); + while ((tag = h->tags.head) != NULL) { + h->tags.head = tag->next; free(tag); } @@ -358,7 +355,8 @@ print_otag(struct html *h, enum htmltag tag, if (NULL == (t = malloc(sizeof(struct tag)))) err(EXIT_FAILURE, "malloc"); t->tag = tag; - SLIST_INSERT_HEAD(&h->tags, t, entry); + t->next = h->tags.head; + h->tags.head = t; } else t = NULL; @@ -468,10 +466,9 @@ print_tagq(struct html *h, const struct tag *until) { struct tag *tag; - while ( ! SLIST_EMPTY(&h->tags)) { - tag = SLIST_FIRST(&h->tags); + while ((tag = h->tags.head) != NULL) { print_ctag(h, tag->tag); - SLIST_REMOVE_HEAD(&h->tags, entry); + h->tags.head = tag->next; free(tag); if (until && tag == until) return; @@ -484,12 +481,11 @@ print_stagq(struct html *h, const struct tag *suntil) { struct tag *tag; - while ( ! SLIST_EMPTY(&h->tags)) { - tag = SLIST_FIRST(&h->tags); + while ((tag = h->tags.head) != NULL) { if (suntil && tag == suntil) return; print_ctag(h, tag->tag); - SLIST_REMOVE_HEAD(&h->tags, entry); + h->tags.head = tag->next; free(tag); } } |