From e4f1ffe6015fbd33994a18f1de65cbd62c177a83 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 17 May 2019 00:13:41 +0000 Subject: [PATCH] commands/bar: improve error for invalid subcommand Running a command like this produced a confusing error message: $ swaymsg bar bar-0 colors background #ff0000 Error: Unknown/invalid command 'bar-0' This patch makes the error message use argv[1] instead of argv[0] (from config_subcommand's implementation), so it actually uses the name of the command, rather than the id of the bar. --- sway/commands/bar.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sway/commands/bar.c b/sway/commands/bar.c index 9c7357dd..88649bab 100644 --- a/sway/commands/bar.c +++ b/sway/commands/bar.c @@ -80,6 +80,13 @@ struct cmd_results *cmd_bar(int argc, char **argv) { } config->current_bar = bar; ++argv; --argc; + } else if (!config->reading) { + if (is_subcommand(argv[0])) { + return cmd_results_new(CMD_INVALID, "No bar defined."); + } else { + return cmd_results_new(CMD_INVALID, + "Unknown/invalid command '%s'", argv[1]); + } } if (!config->current_bar) { @@ -103,8 +110,6 @@ struct cmd_results *cmd_bar(int argc, char **argv) { // Set current bar config->current_bar = bar; sway_log(SWAY_DEBUG, "Creating bar %s", bar->id); - } else { - return cmd_results_new(CMD_FAILURE, "No bar defined."); } }