aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd-find.c5
-rw-r--r--cmd-string.c12
2 files changed, 9 insertions, 8 deletions
diff --git a/cmd-find.c b/cmd-find.c
index e3b4a91f..ef1ce4aa 100644
--- a/cmd-find.c
+++ b/cmd-find.c
@@ -976,8 +976,11 @@ cmd_find_target(struct cmd_find_state *fs, struct cmdq_item *item,
} else if (cmd_find_from_client(&current, item->client) == 0) {
fs->current = &current;
log_debug("%s: current is from client", __func__);
- } else
+ } else {
+ if (~flags & CMD_FIND_QUIET)
+ cmdq_error(item, "no current target");
goto error;
+ }
if (!cmd_find_valid_state(fs->current))
fatalx("invalid current find state");
diff --git a/cmd-string.c b/cmd-string.c
index 822d35b5..9c8f10c1 100644
--- a/cmd-string.c
+++ b/cmd-string.c
@@ -159,21 +159,19 @@ cmd_string_parse(const char *s, const char *file, u_int line, char **cause)
char **argv;
*cause = NULL;
- if (cmd_string_split(s, &argc, &argv) != 0)
- goto error;
+ if (cmd_string_split(s, &argc, &argv) != 0) {
+ xasprintf(cause, "invalid or unknown command: %s", s);
+ return (NULL);
+ }
if (argc != 0) {
cmdlist = cmd_list_parse(argc, argv, file, line, cause);
if (cmdlist == NULL) {
cmd_free_argv(argc, argv);
- goto error;
+ return (NULL);
}
}
cmd_free_argv(argc, argv);
return (cmdlist);
-
-error:
- xasprintf(cause, "invalid or unknown command: %s", s);
- return (NULL);
}
static void