aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mdoc_argv.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2014-11-28 03:14:18 +0000
committerIngo Schwarze <schwarze@openbsd.org>2014-11-28 03:14:18 +0000
commit4ec14565a73ba8a34e7ed203d15b897b813d5117 (patch)
treee144d726e69e3253341ec0a71d132c780235b216 /mdoc_argv.c
parent5945ed54fa0c86058de1596004200fd2644a2c76 (diff)
downloadmandoc-4ec14565a73ba8a34e7ed203d15b897b813d5117.tar.gz
mandoc-4ec14565a73ba8a34e7ed203d15b897b813d5117.tar.zst
mandoc-4ec14565a73ba8a34e7ed203d15b897b813d5117.zip
Simplify the code by making various mdoc parser helper functions void.
No functional change, minus 130 lines of code.
Diffstat (limited to 'mdoc_argv.c')
-rw-r--r--mdoc_argv.c34
1 files changed, 12 insertions, 22 deletions
diff --git a/mdoc_argv.c b/mdoc_argv.c
index b12c510f..20dac8af 100644
--- a/mdoc_argv.c
+++ b/mdoc_argv.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc_argv.c,v 1.96 2014/08/10 23:54:41 schwarze Exp $ */
+/* $OpenBSD$ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2012 Ingo Schwarze <schwarze@openbsd.org>
@@ -54,9 +54,9 @@ static void argn_free(struct mdoc_arg *, int);
static enum margserr args(struct mdoc *, int, int *,
char *, enum argsflag, char **);
static int args_checkpunct(const char *, int);
-static int argv_multi(struct mdoc *, int,
+static void argv_multi(struct mdoc *, int,
struct mdoc_argv *, int *, char *);
-static int argv_single(struct mdoc *, int,
+static void argv_single(struct mdoc *, int,
struct mdoc_argv *, int *, char *);
static const enum argvflag argvflags[MDOC_ARG_MAX] = {
@@ -342,12 +342,10 @@ mdoc_argv(struct mdoc *mdoc, int line, enum mdoct tok,
switch (argvflags[tmp.arg]) {
case ARGV_SINGLE:
- if ( ! argv_single(mdoc, line, &tmp, pos, buf))
- return(ARGV_ERROR);
+ argv_single(mdoc, line, &tmp, pos, buf);
break;
case ARGV_MULTI:
- if ( ! argv_multi(mdoc, line, &tmp, pos, buf))
- return(ARGV_ERROR);
+ argv_multi(mdoc, line, &tmp, pos, buf);
break;
case ARGV_NONE:
break;
@@ -652,7 +650,7 @@ args_checkpunct(const char *buf, int i)
return('\0' == buf[i]);
}
-static int
+static void
argv_multi(struct mdoc *mdoc, int line,
struct mdoc_argv *v, int *pos, char *buf)
{
@@ -660,25 +658,21 @@ argv_multi(struct mdoc *mdoc, int line,
char *p;
for (v->sz = 0; ; v->sz++) {
- if ('-' == buf[*pos])
+ if (buf[*pos] == '-')
break;
ac = args(mdoc, line, pos, buf, ARGSFL_NONE, &p);
- if (ARGS_ERROR == ac)
- return(0);
- else if (ARGS_EOLN == ac)
+ if (ac == ARGS_EOLN)
break;
- if (0 == v->sz % MULTI_STEP)
+ if (v->sz % MULTI_STEP == 0)
v->value = mandoc_reallocarray(v->value,
v->sz + MULTI_STEP, sizeof(char *));
v->value[(int)v->sz] = mandoc_strdup(p);
}
-
- return(1);
}
-static int
+static void
argv_single(struct mdoc *mdoc, int line,
struct mdoc_argv *v, int *pos, char *buf)
{
@@ -686,14 +680,10 @@ argv_single(struct mdoc *mdoc, int line,
char *p;
ac = args(mdoc, line, pos, buf, ARGSFL_NONE, &p);
- if (ARGS_ERROR == ac)
- return(0);
- if (ARGS_EOLN == ac)
- return(1);
+ if (ac == ARGS_EOLN)
+ return;
v->sz = 1;
v->value = mandoc_malloc(sizeof(char *));
v->value[0] = mandoc_strdup(p);
-
- return(1);
}