aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mdoc_argv.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2011-06-18 16:29:38 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2011-06-18 16:29:38 +0000
commita835443fb58843e0ae9c93eff6f18e010db0bdfb (patch)
treebffa4c27545a24fc4e60e1a9a9592851fd236224 /mdoc_argv.c
parent274cb80b28fcd07c9ab6a12e1f9de6639c43a503 (diff)
downloadmandoc-a835443fb58843e0ae9c93eff6f18e010db0bdfb.tar.gz
mandoc-a835443fb58843e0ae9c93eff6f18e010db0bdfb.tar.zst
mandoc-a835443fb58843e0ae9c93eff6f18e010db0bdfb.zip
Clean-up: remove a function only called once.
Diffstat (limited to 'mdoc_argv.c')
-rw-r--r--mdoc_argv.c55
1 files changed, 17 insertions, 38 deletions
diff --git a/mdoc_argv.c b/mdoc_argv.c
index 545a3cbf..fa271a50 100644
--- a/mdoc_argv.c
+++ b/mdoc_argv.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc_argv.c,v 1.78 2011/06/18 16:18:04 kristaps Exp $ */
+/* $Id: mdoc_argv.c,v 1.79 2011/06/18 16:29:38 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
*
@@ -55,8 +55,6 @@ struct mdocarg {
static enum margserr args(struct mdoc *, int, int *,
char *, enum argsflag, char **);
static int args_checkpunct(const char *, int);
-static int argv(struct mdoc *, int,
- struct mdoc_argv *, int *, char *);
static int argv_single(struct mdoc *, int,
struct mdoc_argv *, int *, char *);
static int argv_opt_single(struct mdoc *, int,
@@ -345,8 +343,22 @@ mdoc_argv(struct mdoc *m, int line, enum mdoct tok,
while (buf[*pos] && ' ' == buf[*pos])
(*pos)++;
- if ( ! argv(m, line, &tmp, pos, buf))
- return(ARGV_ERROR);
+ switch (argvflags[tmp.arg]) {
+ case (ARGV_SINGLE):
+ if ( ! argv_single(m, line, &tmp, pos, buf))
+ return(ARGV_ERROR);
+ break;
+ case (ARGV_MULTI):
+ if ( ! argv_multi(m, line, &tmp, pos, buf))
+ return(ARGV_ERROR);
+ break;
+ case (ARGV_OPT_SINGLE):
+ if ( ! argv_opt_single(m, line, &tmp, pos, buf))
+ return(ARGV_ERROR);
+ break;
+ case (ARGV_NONE):
+ break;
+ }
if (NULL == (arg = *v))
arg = *v = mandoc_calloc(1, sizeof(struct mdoc_arg));
@@ -680,9 +692,6 @@ argv_opt_single(struct mdoc *m, int line,
return(1);
}
-/*
- * Parse a single, mandatory value from the stream.
- */
static int
argv_single(struct mdoc *m, int line,
struct mdoc_argv *v, int *pos, char *buf)
@@ -706,33 +715,3 @@ argv_single(struct mdoc *m, int line,
return(1);
}
-
-/*
- * Determine rules for parsing arguments. Arguments can either accept
- * no parameters, an optional single parameter, one parameter, or
- * multiple parameters.
- */
-static int
-argv(struct mdoc *mdoc, int line,
- struct mdoc_argv *v, int *pos, char *buf)
-{
-
- v->sz = 0;
- v->value = NULL;
-
- switch (argvflags[v->arg]) {
- case (ARGV_SINGLE):
- return(argv_single(mdoc, line, v, pos, buf));
- case (ARGV_MULTI):
- return(argv_multi(mdoc, line, v, pos, buf));
- case (ARGV_OPT_SINGLE):
- return(argv_opt_single(mdoc, line, v, pos, buf));
- case (ARGV_NONE):
- break;
- default:
- abort();
- /* NOTREACHED */
- }
-
- return(1);
-}