]> git.cameronkatri.com Git - mandoc.git/blobdiff - main.c
Two minor tweaks regarding the fallback from -u/-d to default mode:
[mandoc.git] / main.c
diff --git a/main.c b/main.c
index 5038b63989114a327b7b189401fbf240a2564ae5..4fb29d0eef7441a5b3e69fd92be8861ba885d341 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1,7 +1,8 @@
-/*     $Id: main.c,v 1.168 2014/01/05 20:26:36 schwarze Exp $ */
+/*     $Id: main.c,v 1.172 2014/03/23 11:25:26 schwarze Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2010, 2011, 2012 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2010, 2011, 2012, 2014 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2010 Joerg Sonnenberger <joerg@netbsd.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -27,6 +28,7 @@
 #include <unistd.h>
 
 #include "mandoc.h"
+#include "mandoc_aux.h"
 #include "main.h"
 #include "mdoc.h"
 #include "man.h"
@@ -66,7 +68,7 @@ struct        curparse {
        char              outopts[BUFSIZ]; /* buf of output opts */
 };
 
-static int               moptions(enum mparset *, char *);
+static int               moptions(int *, char *);
 static void              mmsg(enum mandocerr, enum mandoclevel,
                                const char *, int, int, const char *);
 static void              parse(struct curparse *, int, 
@@ -83,7 +85,7 @@ main(int argc, char *argv[])
 {
        int              c;
        struct curparse  curp;
-       enum mparset     type;
+       int              options;
        enum mandoclevel rc;
        char            *defos;
 
@@ -95,7 +97,7 @@ main(int argc, char *argv[])
 
        memset(&curp, 0, sizeof(struct curparse));
 
-       type = MPARSE_AUTO;
+       options = MPARSE_SO;
        curp.outtype = OUTT_ASCII;
        curp.wlevel  = MANDOCLEVEL_FATAL;
        defos = NULL;
@@ -117,7 +119,7 @@ main(int argc, char *argv[])
                        defos = mandoc_strdup(optarg + 3);
                        break;
                case ('m'):
-                       if ( ! moptions(&type, optarg))
+                       if ( ! moptions(&options, optarg))
                                return((int)MANDOCLEVEL_BADARG);
                        break;
                case ('O'):
@@ -140,7 +142,7 @@ main(int argc, char *argv[])
                        /* NOTREACHED */
                }
 
-       curp.mp = mparse_alloc(type, curp.wlevel, mmsg, defos, 0);
+       curp.mp = mparse_alloc(options, curp.wlevel, mmsg, defos);
 
        /*
         * Conditionally start up the lookaside buffer before parsing.
@@ -293,7 +295,7 @@ parse(struct curparse *curp, int fd,
                }
        }
 
-       mparse_result(curp->mp, &mdoc, &man);
+       mparse_result(curp->mp, &mdoc, &man, NULL);
 
        /* Execute the out device, if it exists. */
 
@@ -311,15 +313,15 @@ parse(struct curparse *curp, int fd,
 }
 
 static int
-moptions(enum mparset *tflags, char *arg)
+moptions(int *options, char *arg)
 {
 
        if (0 == strcmp(arg, "doc"))
-               *tflags = MPARSE_MDOC;
+               *options |= MPARSE_MDOC;
        else if (0 == strcmp(arg, "andoc"))
-               *tflags = MPARSE_AUTO;
+               /* nothing to do */;
        else if (0 == strcmp(arg, "an"))
-               *tflags = MPARSE_MAN;
+               *options |= MPARSE_MAN;
        else {
                fprintf(stderr, "%s: Bad argument\n", arg);
                return(0);