]> git.cameronkatri.com Git - mandoc.git/blobdiff - mdoc_argv.c
Initial removal of enum mdoc_warn from mdoc warnings (unnecessary complication).
[mandoc.git] / mdoc_argv.c
index 1cde444114abecd369903ab538c76f1a6ed1926d..8941944f7caaeb21e57b9e163129b5d4ad7b3400 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_argv.c,v 1.4 2009/06/10 20:18:43 kristaps Exp $ */
+/*     $Id: mdoc_argv.c,v 1.9 2009/07/06 09:21:24 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -32,6 +32,9 @@
  * There's no limit to the number or arguments that may be allocated.
  */
 
+/* FIXME .Bf Li raises "macro-like parameter". */
+/* FIXME .Bl -column should deprecate old-groff syntax. */
+
 #define        ARGS_QUOTED     (1 << 0)
 #define        ARGS_DELIM      (1 << 1)
 #define        ARGS_TABSEP     (1 << 2)
@@ -105,7 +108,7 @@ static      int mdoc_argvflags[MDOC_ARG_MAX] = {
 };
 
 static int mdoc_argflags[MDOC_MAX] = {
-       0, /* \" */
+       0, /* Ap */
        0, /* Dd */
        0, /* Dt */
        0, /* Os */
@@ -116,7 +119,7 @@ static      int mdoc_argflags[MDOC_MAX] = {
        ARGS_DELIM | ARGS_QUOTED, /* Dl */
        0, /* Bd */
        0, /* Ed */
-       0, /* Bl */
+       ARGS_QUOTED, /* Bl */
        0, /* El */
        0, /* It */
        ARGS_DELIM, /* Ad */ 
@@ -212,7 +215,6 @@ static      int mdoc_argflags[MDOC_MAX] = {
        0, /* Fr */
        0, /* Ud */
        0, /* Lb */
-       0, /* Ap */
        ARGS_DELIM, /* Lp */
        ARGS_DELIM | ARGS_QUOTED, /* Lk */
        ARGS_DELIM | ARGS_QUOTED, /* Mt */
@@ -367,6 +369,7 @@ perr(struct mdoc *mdoc, int line, int pos, enum merr code)
                p = "argument requires a value";
                break;
        }
+
        assert(p);
        return(mdoc_perr(mdoc, line, pos, p));
 }
@@ -376,10 +379,9 @@ static int
 pwarn(struct mdoc *mdoc, int line, int pos, enum mwarn code)
 {
        char            *p;
-       int              c;
 
        p = NULL;
-       c = WARN_SYNTAX;
+
        switch (code) {
        case (WQUOTPARM):
                p = "unexpected quoted parameter";
@@ -389,15 +391,14 @@ pwarn(struct mdoc *mdoc, int line, int pos, enum mwarn code)
                break;
        case (WCOLEMPTY):
                p = "last list column is empty";
-               c = WARN_COMPAT;
                break;
        case (WTAILWS):
                p = "trailing whitespace";
-               c = WARN_COMPAT;
                break;
        }
+
        assert(p);
-       return(mdoc_pwarn(mdoc, line, pos, c, p));
+       return(mdoc_pwarn(mdoc, line, pos, p));
 }
 
 
@@ -754,11 +755,9 @@ static int
 argv_multi(struct mdoc *mdoc, int line, 
                struct mdoc_argv *v, int *pos, char *buf)
 {
-       int              c, ppos;
+       int              c;
        char            *p;
 
-       ppos = *pos;
-
        for (v->sz = 0; ; v->sz++) {
                if ('-' == buf[*pos])
                        break;
@@ -780,10 +779,7 @@ argv_multi(struct mdoc *mdoc, int line,
                        return(verr(mdoc, EMALLOC));
        }
 
-       if (v->sz)
-               return(1);
-
-       return(perr(mdoc, line, ppos, EARGVAL));
+       return(1);
 }