]> git.cameronkatri.com Git - mandoc.git/blobdiff - mdoctree.c
Bumped minor-number.
[mandoc.git] / mdoctree.c
index a4147c8b2ea06cc20e385c1edd2c55d7a5d1c4c6..6507034816f3fcd74470d1da79216d97b8b9b33c 100644 (file)
@@ -1,4 +1,4 @@
-       /* $Id: mdoctree.c,v 1.4 2009/02/23 12:45:19 kristaps Exp $ */
+       /* $Id: mdoctree.c,v 1.6 2009/03/08 14:01:46 kristaps Exp $ */
 /*
  * Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -31,13 +31,15 @@ static      void    doprint(const struct mdoc_node *, int);
 int
 main(int argc, char *argv[])
 {
-       struct mmain    *p;
+       struct mmain      *p;
+       int                c;
        const struct mdoc *mdoc;
 
        p = mmain_alloc();
 
-       if ( ! mmain_getopt(p, argc, argv, NULL, NULL, NULL, NULL))
-               mmain_exit(p, 1);
+       c = mmain_getopt(p, argc, argv, NULL, NULL, NULL, NULL);
+       if (1 != c) 
+               mmain_exit(p, -1 == c ? 1 : 0);
 
        if (NULL == (mdoc = mmain_mdoc(p)))
                mmain_exit(p, 1);
@@ -55,7 +57,7 @@ doprint(const struct mdoc_node *n, int indent)
        int               i, j;
        size_t            argc, sz;
        char            **params;
-       struct mdoc_arg  *argv;
+       struct mdoc_argv *argv;
 
        argv = NULL;
        argc = sz = 0;
@@ -90,7 +92,7 @@ doprint(const struct mdoc_node *n, int indent)
 
        switch (n->type) {
        case (MDOC_TEXT):
-               p = n->data.text.string;
+               p = n->string;
                break;
        case (MDOC_BODY):
                p = mdoc_macronames[n->tok];
@@ -103,13 +105,17 @@ doprint(const struct mdoc_node *n, int indent)
                break;
        case (MDOC_ELEM):
                p = mdoc_macronames[n->tok];
-               argv = n->data.elem.argv;
-               argc = n->data.elem.argc;
+               if (n->args) {
+                       argv = n->args->argv;
+                       argc = n->args->argc;
+               }
                break;
        case (MDOC_BLOCK):
                p = mdoc_macronames[n->tok];
-               argv = n->data.block.argv;
-               argc = n->data.block.argc;
+               if (n->args) {
+                       argv = n->args->argv;
+                       argc = n->args->argc;
+               }
                break;
        case (MDOC_ROOT):
                p = "root";