version 1.76, 2011/04/19 16:38:48 |
version 1.77, 2011/05/12 23:44:01 |
|
|
static enum mdocargt argv_a2arg(enum mdoct, const char *); |
static enum mdocargt argv_a2arg(enum mdoct, const char *); |
static enum margserr args(struct mdoc *, int, int *, |
static enum margserr args(struct mdoc *, int, int *, |
char *, enum argsflag, char **); |
char *, enum argsflag, char **); |
static int args_checkpunct(struct mdoc *, |
static int args_checkpunct(const char *, int); |
const char *, int, int); |
|
static int argv(struct mdoc *, int, |
static int argv(struct mdoc *, int, |
struct mdoc_argv *, int *, char *); |
struct mdoc_argv *, int *, char *); |
static int argv_single(struct mdoc *, int, |
static int argv_single(struct mdoc *, int, |
Line 445 args(struct mdoc *m, int line, int *pos, |
|
Line 444 args(struct mdoc *m, int line, int *pos, |
|
*v = &buf[*pos]; |
*v = &buf[*pos]; |
|
|
if (ARGSFL_DELIM == fl) |
if (ARGSFL_DELIM == fl) |
if (args_checkpunct(m, buf, *pos, line)) |
if (args_checkpunct(buf, *pos)) |
return(ARGS_PUNCT); |
return(ARGS_PUNCT); |
|
|
/* |
/* |
Line 571 args(struct mdoc *m, int line, int *pos, |
|
Line 570 args(struct mdoc *m, int line, int *pos, |
|
* whitespace may separate these tokens. |
* whitespace may separate these tokens. |
*/ |
*/ |
static int |
static int |
args_checkpunct(struct mdoc *m, const char *buf, int i, int ln) |
args_checkpunct(const char *buf, int i) |
{ |
{ |
int j; |
int j; |
char dbuf[DELIMSZ]; |
char dbuf[DELIMSZ]; |
Line 670 argv_multi(struct mdoc *m, int line, |
|
Line 669 argv_multi(struct mdoc *m, int line, |
|
for (v->sz = 0; ; v->sz++) { |
for (v->sz = 0; ; v->sz++) { |
if ('-' == buf[*pos]) |
if ('-' == buf[*pos]) |
break; |
break; |
ac = args(m, line, pos, buf, 0, &p); |
ac = args(m, line, pos, buf, ARGSFL_NONE, &p); |
if (ARGS_ERROR == ac) |
if (ARGS_ERROR == ac) |
return(0); |
return(0); |
else if (ARGS_EOLN == ac) |
else if (ARGS_EOLN == ac) |
Line 696 argv_opt_single(struct mdoc *m, int line, |
|
Line 695 argv_opt_single(struct mdoc *m, int line, |
|
if ('-' == buf[*pos]) |
if ('-' == buf[*pos]) |
return(1); |
return(1); |
|
|
ac = args(m, line, pos, buf, 0, &p); |
ac = args(m, line, pos, buf, ARGSFL_NONE, &p); |
if (ARGS_ERROR == ac) |
if (ARGS_ERROR == ac) |
return(0); |
return(0); |
if (ARGS_EOLN == ac) |
if (ARGS_EOLN == ac) |
Line 722 argv_single(struct mdoc *m, int line, |
|
Line 721 argv_single(struct mdoc *m, int line, |
|
|
|
ppos = *pos; |
ppos = *pos; |
|
|
ac = args(m, line, pos, buf, 0, &p); |
ac = args(m, line, pos, buf, ARGSFL_NONE, &p); |
if (ARGS_EOLN == ac) { |
if (ARGS_EOLN == ac) { |
mdoc_pmsg(m, line, ppos, MANDOCERR_SYNTARGVCOUNT); |
mdoc_pmsg(m, line, ppos, MANDOCERR_SYNTARGVCOUNT); |
return(0); |
return(0); |