=================================================================== RCS file: /cvs/mandoc/mdoc_argv.c,v retrieving revision 1.6 retrieving revision 1.9 diff -u -p -r1.6 -r1.9 --- mandoc/mdoc_argv.c 2009/06/17 11:02:06 1.6 +++ mandoc/mdoc_argv.c 2009/07/06 09:21:24 1.9 @@ -1,4 +1,4 @@ -/* $Id: mdoc_argv.c,v 1.6 2009/06/17 11:02:06 kristaps Exp $ */ +/* $Id: mdoc_argv.c,v 1.9 2009/07/06 09:21:24 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -33,6 +33,7 @@ */ /* 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) @@ -118,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 */ @@ -368,6 +369,7 @@ perr(struct mdoc *mdoc, int line, int pos, enum merr c p = "argument requires a value"; break; } + assert(p); return(mdoc_perr(mdoc, line, pos, p)); } @@ -377,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"; @@ -390,15 +391,14 @@ pwarn(struct mdoc *mdoc, int line, int pos, enum mwarn 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)); } @@ -755,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; @@ -781,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); }