]> git.cameronkatri.com Git - mandoc.git/commitdiff
Portability: replaced queue macros in html.c (Joerg Sonnenberger).
authorKristaps Dzonsons <kristaps@bsd.lv>
Mon, 26 Oct 2009 08:18:15 +0000 (08:18 +0000)
committerKristaps Dzonsons <kristaps@bsd.lv>
Mon, 26 Oct 2009 08:18:15 +0000 (08:18 +0000)
Fixed "-o" residue.
Added "-O" to usage() (-o didn't appear there either).

html.c
html.h
main.c
man_html.c
mdoc_html.c

diff --git a/html.c b/html.c
index ab68ba59ea7446ba3e5c3411a5ba14462f402498..502d25543e10dda15cbaf05d7d6272de6116d0c2 100644 (file)
--- 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);
        }
 }
diff --git a/html.h b/html.h
index 1bb688e1c1c0e24fd53bcdff224581ff4e599612..ea2b98c6acbda9a417c4a9125b86c871974acb3f 100644 (file)
--- a/html.h
+++ b/html.h
@@ -1,4 +1,4 @@
-/*     $Id: html.h,v 1.13 2009/10/13 10:21:24 kristaps Exp $ */
+/*     $Id: html.h,v 1.14 2009/10/26 08:18:16 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -62,18 +62,22 @@ enum        htmlattr {
 };
 
 struct tag {
+       struct tag       *next;
        enum htmltag      tag;
-       SLIST_ENTRY(tag)  entry;
 };
 
 struct ord {
-       int               pos;
+       struct ord       *next;
        const void       *cookie;
-       SLIST_ENTRY(ord)  entry;
+       int               pos;
 };
 
-SLIST_HEAD(tagq, tag);
-SLIST_HEAD(ordq, ord);
+struct tagq {
+       struct tag       *head;
+};
+struct ordq {
+       struct ord       *head;
+};
 
 struct htmlpair {
        enum htmlattr     key;
diff --git a/main.c b/main.c
index d832541f9856a543d4db8c69bd49c19d357d92bf..c325066be58af7f3e8d1c7c6731676eaef6b798f 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1,4 +1,4 @@
-/*     $Id: main.c,v 1.47 2009/10/26 04:15:42 kristaps Exp $ */
+/*     $Id: main.c,v 1.48 2009/10/26 08:18:16 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -134,7 +134,7 @@ main(int argc, char *argv[])
                        if ( ! moptions(&curp.inttype, optarg))
                                return(EXIT_FAILURE);
                        break;
-               case ('o'):
+               case ('O'):
                        curp.outopts = optarg;
                        break;
                case ('T'):
@@ -221,8 +221,8 @@ usage(void)
 {
 
        (void)fprintf(stderr, "usage: %s [-V] [-foption...] "
-                       "[-mformat] [-Toutput] [-Werr...]\n", 
-                       __progname);
+                       "[-mformat] [-Ooption] [-Toutput] "
+                       "[-Werr...]\n", __progname);
        exit(EXIT_FAILURE);
 }
 
index 3ff82ae942466929aeb8226cbf19de54ae54f1e7..82fed356042b62eda7ab7cf4bd451d8939fec500 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: man_html.c,v 1.13 2009/10/24 05:45:04 kristaps Exp $ */
+/*     $Id: man_html.c,v 1.14 2009/10/26 08:18:16 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 <ctype.h>
@@ -180,7 +179,7 @@ print_man_node(MAN_ARGS)
        struct tag      *t;
 
        child = 1;
-       t = SLIST_FIRST(&h->tags);
+       t = h->tags.head;
 
        bufinit(h);
 
index 6a05a918f7b923994940509304dfecae0d9f3314..a948781c7aa8e7783468dff0fbf88026f021763b 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_html.c,v 1.38 2009/10/26 04:09:45 kristaps Exp $ */
+/*     $Id: mdoc_html.c,v 1.39 2009/10/26 08:18:16 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -16,7 +16,6 @@
  */
 #include <sys/types.h>
 #include <sys/param.h>
-#include <sys/queue.h>
 
 #include <assert.h>
 #include <ctype.h>
@@ -417,7 +416,7 @@ print_mdoc_node(MDOC_ARGS)
        struct tag      *t;
 
        child = 1;
-       t = SLIST_FIRST(&h->tags);
+       t = h->tags.head;
 
        bufinit(h);
        switch (n->type) {
@@ -981,7 +980,7 @@ mdoc_it_head_pre(MDOC_ARGS, int type, struct roffsu *width)
                print_otag(h, TAG_SPAN, 1, &tag);
                break;
        case (MDOC_Enum):
-               ord = SLIST_FIRST(&h->ords);
+               ord = h->ords.head;
                assert(ord);
                nbuf[BUFSIZ - 1] = 0;
                (void)snprintf(nbuf, BUFSIZ - 1, "%d.", ord->pos++);
@@ -1116,7 +1115,8 @@ mdoc_bl_pre(MDOC_ARGS)
                err(EXIT_FAILURE, "malloc");
        ord->cookie = n;
        ord->pos = 1;
-       SLIST_INSERT_HEAD(&h->ords, ord, entry);
+       ord->next = h->ords.head;
+       h->ords.head = ord;
        return(1);
 }
 
@@ -1132,9 +1132,9 @@ mdoc_bl_post(MDOC_ARGS)
        if (MDOC_Enum != a2list(n))
                return;
 
-       ord = SLIST_FIRST(&h->ords);
+       ord = h->ords.head;
        assert(ord);
-       SLIST_REMOVE_HEAD(&h->ords, entry);
+       h->ords.head = ord->next;
        free(ord);
 }