summaryrefslogtreecommitdiffstatshomepage
path: root/html.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2009-10-26 08:18:15 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2009-10-26 08:18:15 +0000
commitb7c56901be15b5853782a4ab0a8f85b745792d05 (patch)
treecfa8c49e546acb1c55de7195efe25105b79cb65b /html.c
parent65f3d725ab6475bef0a83e1077c3ce2be3557598 (diff)
downloadmandoc-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.c30
1 files changed, 13 insertions, 17 deletions
diff --git a/html.c b/html.c
index ab68ba59..502d2554 100644
--- a/html.c
+++ b/html.c
@@ -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);
}
}