diff options
author | nicm <nicm> | 2017-01-15 22:00:56 +0000 |
---|---|---|
committer | nicm <nicm> | 2017-01-15 22:00:56 +0000 |
commit | 52847a951802fda7a3ce36cdac77c34914b0ccca (patch) | |
tree | 7e5ad465e719d32f2a7d9a7c3469dec6d12448a4 /cmd-string.c | |
parent | 30548461439f02ed8327f96748035685a1a26ace (diff) | |
download | rtmux-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.c | 40 |
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 |