aboutsummaryrefslogtreecommitdiff
path: root/cmd-string.c
diff options
context:
space:
mode:
authornicm <nicm>2017-01-15 22:00:56 +0000
committernicm <nicm>2017-01-15 22:00:56 +0000
commit52847a951802fda7a3ce36cdac77c34914b0ccca (patch)
tree7e5ad465e719d32f2a7d9a7c3469dec6d12448a4 /cmd-string.c
parent30548461439f02ed8327f96748035685a1a26ace (diff)
downloadrtmux-52847a951802fda7a3ce36cdac77c34914b0ccca.tar.gz
rtmux-52847a951802fda7a3ce36cdac77c34914b0ccca.tar.bz2
rtmux-52847a951802fda7a3ce36cdac77c34914b0ccca.zip
It is silly for cmd_list_parse to return an integer error when it could
just return NULL.
Diffstat (limited to 'cmd-string.c')
-rw-r--r--cmd-string.c40
1 files changed, 10 insertions, 30 deletions
diff --git a/cmd-string.c b/cmd-string.c
index 7c6d9ad6..1b96b280 100644
--- a/cmd-string.c
+++ b/cmd-string.c
@@ -54,32 +54,17 @@ cmd_string_ungetc(size_t *p)
(*p)--;
}
-/*
- * Parse command string. Returns -1 on error. If returning -1, cause is error
- * string, or NULL for empty command.
- */
-int
-cmd_string_parse(const char *s, struct cmd_list **cmdlist, const char *file,
- u_int line, char **cause)
+struct cmd_list *
+cmd_string_parse(const char *s, const char *file, u_int line, char **cause)
{
- size_t p;
- int ch, i, argc, rval;
- char **argv, *buf, *t;
- const char *whitespace, *equals;
- size_t len;
-
- argv = NULL;
- argc = 0;
-
- buf = NULL;
- len = 0;
+ size_t p = 0;
+ int ch, i, argc = 0;
+ char **argv = NULL, *buf = NULL, *t;
+ const char *whitespace, *equals;
+ size_t len = 0;
+ struct cmd_list *cmdlist = NULL;
*cause = NULL;
-
- *cmdlist = NULL;
- rval = -1;
-
- p = 0;
for (;;) {
ch = cmd_string_getc(s, &p);
switch (ch) {
@@ -133,12 +118,7 @@ cmd_string_parse(const char *s, struct cmd_list **cmdlist, const char *file,
if (argc == 0)
goto out;
- *cmdlist = cmd_list_parse(argc, argv, file, line,
- cause);
- if (*cmdlist == NULL)
- goto out;
-
- rval = 0;
+ cmdlist = cmd_list_parse(argc, argv, file, line, cause);
goto out;
case '~':
if (buf == NULL) {
@@ -171,7 +151,7 @@ out:
free(argv);
}
- return (rval);
+ return (cmdlist);
}
static void