=================================================================== RCS file: /cvs/mandoc/mdoc_argv.c,v retrieving revision 1.37 retrieving revision 1.41 diff -u -p -r1.37 -r1.41 --- mandoc/mdoc_argv.c 2010/04/03 14:02:10 1.37 +++ mandoc/mdoc_argv.c 2010/05/07 06:05:38 1.41 @@ -1,4 +1,4 @@ -/* $Id: mdoc_argv.c,v 1.37 2010/04/03 14:02:10 kristaps Exp $ */ +/* $Id: mdoc_argv.c,v 1.41 2010/05/07 06:05:38 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -45,7 +45,7 @@ #define MULTI_STEP 5 static int argv_a2arg(enum mdoct, const char *); -static int args(struct mdoc *, int, int *, +static enum margserr args(struct mdoc *, int, int *, char *, int, char **); static int argv(struct mdoc *, int, struct mdoc_argv *, int *, char *); @@ -217,7 +217,7 @@ static int mdoc_argflags[MDOC_MAX] = { * [value0...], which may either have a single mandatory value, at least * one mandatory value, an optional single value, or no value. */ -int +enum margverr mdoc_argv(struct mdoc *m, int line, enum mdoct tok, struct mdoc_arg **v, int *pos, char *buf) { @@ -325,7 +325,7 @@ mdoc_argn_free(struct mdoc_arg *p, int iarg) } -int +enum margserr mdoc_zargs(struct mdoc *m, int line, int *pos, char *buf, int flags, char **v) { @@ -334,7 +334,7 @@ mdoc_zargs(struct mdoc *m, int line, int *pos, } -int +enum margserr mdoc_args(struct mdoc *m, int line, int *pos, char *buf, enum mdoct tok, char **v) { @@ -372,12 +372,13 @@ mdoc_args(struct mdoc *m, int line, int *pos, } -static int +static enum margserr args(struct mdoc *m, int line, int *pos, char *buf, int fl, char **v) { int i; char *p, *pp; + enum margserr rc; /* * Parse out the terms (like `val' in `.Xx -arg val' or simply @@ -440,6 +441,7 @@ args(struct mdoc *m, int line, int *pos, */ if (ARGS_TABSEP & fl) { + rc = ARGS_PHRASE; /* Scan ahead to tab (can't be escaped). */ p = strchr(*v, '\t'); @@ -488,7 +490,7 @@ args(struct mdoc *m, int line, int *pos, for (pp = &buf[*pos]; ' ' == *pp; pp++, (*pos)++) /* Skip ahead. */ ; - return(ARGS_PHRASE); + return(rc); } /*