From dec00d3579e151187382e82e2ec6885e371e04fd Mon Sep 17 00:00:00 2001 From: nicm Date: Wed, 14 Jun 2017 07:37:17 +0000 Subject: [PATCH 1/2] Add missing error message when no target, GitHub issue 971. --- cmd-find.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmd-find.c b/cmd-find.c index f2b098ab..a74ccaee 100644 --- a/cmd-find.c +++ b/cmd-find.c @@ -977,8 +977,11 @@ cmd_find_target(struct cmd_find_state *fs, struct cmdq_item *item, } else if (cmd_find_from_client(¤t, item->client) == 0) { fs->current = ¤t; 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"); From af93453190c2fbb207c8541df33314160816985f Mon Sep 17 00:00:00 2001 From: nicm Date: Wed, 14 Jun 2017 07:42:41 +0000 Subject: [PATCH 2/2] Don't overwrite error message when it is available in cmd_string_parse. Reported by Jimi Damon in GitHub issue 975. --- cmd-string.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) 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