aboutsummaryrefslogtreecommitdiff
path: root/cmd-string.c
diff options
context:
space:
mode:
Diffstat (limited to 'cmd-string.c')
-rw-r--r--cmd-string.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/cmd-string.c b/cmd-string.c
index e2f451a6..1add4a26 100644
--- a/cmd-string.c
+++ b/cmd-string.c
@@ -1,4 +1,4 @@
-/* $Id: cmd-string.c,v 1.19 2009-07-13 18:03:18 tcunha Exp $ */
+/* $Id: cmd-string.c,v 1.20 2009-07-14 06:38:14 nicm Exp $ */
/*
* Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -158,13 +158,16 @@ cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause)
rval = 0;
goto out;
case '~':
- if (have_arg == 0) {
- if ((t = cmd_string_expand_tilde(s, &p)) == NULL)
+ if (!have_arg) {
+ t = cmd_string_expand_tilde(s, &p);
+ if (t == NULL)
goto error;
buf = xrealloc(buf, 1, len + strlen(t) + 1);
strlcpy(buf + len, t, strlen(t) + 1);
len += strlen(t);
xfree(t);
+
+ have_arg = 1;
break;
}
/* FALLTHROUGH */