summaryrefslogtreecommitdiffstats
path: root/cmd-string.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2010-02-19 17:14:23 +0000
committerNicholas Marriott <nicm@openbsd.org>2010-02-19 17:14:23 +0000
commit24634b62816939c3fa7706e60dc2d215e62945c5 (patch)
treed003fb9668d297f645b622f9bdc32c26a80d2673 /cmd-string.c
parent3a89d1ef7f4e9da3b3606df9385b79a77322963e (diff)
have_arg matches buf so it is no longer necessary, spotted by Tim van der
Molen.
Diffstat (limited to 'cmd-string.c')
-rw-r--r--cmd-string.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/cmd-string.c b/cmd-string.c
index a5dabb56..2a5e2b24 100644
--- a/cmd-string.c
+++ b/cmd-string.c
@@ -61,7 +61,7 @@ int
cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause)
{
size_t p;
- int ch, i, argc, rval, have_arg;
+ int ch, i, argc, rval;
char **argv, *buf, *t;
const char *whitespace, *equals;
size_t len;
@@ -72,8 +72,6 @@ cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause)
buf = NULL;
len = 0;
- have_arg = 0;
-
*cause = NULL;
*cmdlist = NULL;
@@ -90,8 +88,6 @@ cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause)
strlcpy(buf + len, t, strlen(t) + 1);
len += strlen(t);
xfree(t);
-
- have_arg = 1;
break;
case '"':
if ((t = cmd_string_string(s, &p, '"', 1)) == NULL)
@@ -100,8 +96,6 @@ cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause)
strlcpy(buf + len, t, strlen(t) + 1);
len += strlen(t);
xfree(t);
-
- have_arg = 1;
break;
case '$':
if ((t = cmd_string_variable(s, &p)) == NULL)
@@ -110,8 +104,6 @@ cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause)
strlcpy(buf + len, t, strlen(t) + 1);
len += strlen(t);
xfree(t);
-
- have_arg = 1;
break;
case '#':
/* Comment: discard rest of line. */
@@ -121,7 +113,7 @@ cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause)
case EOF:
case ' ':
case '\t':
- if (have_arg) {
+ if (buf != NULL) {
buf = xrealloc(buf, 1, len + 1);
buf[len] = '\0';
@@ -130,8 +122,6 @@ cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause)
buf = NULL;
len = 0;
-
- have_arg = 0;
}
if (ch != EOF)
@@ -156,7 +146,7 @@ cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause)
rval = 0;
goto out;
case '~':
- if (have_arg == 0) {
+ if (buf == NULL) {
if ((t = cmd_string_expand_tilde(s, &p)) == NULL)
goto error;
buf = xrealloc(buf, 1, len + strlen(t) + 1);
@@ -172,8 +162,6 @@ cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause)
buf = xrealloc(buf, 1, len + 1);
buf[len++] = ch;
-
- have_arg = 1;
break;
}
}