diff options
author | Mikkel Oscar Lyderik <mikkeloscar@gmail.com> | 2015-11-28 22:02:06 +0100 |
---|---|---|
committer | Mikkel Oscar Lyderik <mikkeloscar@gmail.com> | 2015-11-28 22:02:06 +0100 |
commit | c477bbf345ccfcc5b48bb49c9f9784e8d8a7bfac (patch) | |
tree | 1f5a3be278c9bfd489d4b96b652d1ff2d1a7cb99 | |
parent | Merge pull request #271 from sce/move_wlc_init (diff) | |
download | sway-c477bbf345ccfcc5b48bb49c9f9784e8d8a7bfac.tar.gz sway-c477bbf345ccfcc5b48bb49c9f9784e8d8a7bfac.tar.zst sway-c477bbf345ccfcc5b48bb49c9f9784e8d8a7bfac.zip |
Add warnings about invalid output commands
This handles some cases where sway will crash if an output command is
invalid/missing an argument.
-rw-r--r-- | sway/commands.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sway/commands.c b/sway/commands.c index a46a0b89..42845f65 100644 --- a/sway/commands.c +++ b/sway/commands.c | |||
@@ -767,8 +767,14 @@ static struct cmd_results *cmd_output(int argc, char **argv) { | |||
767 | output->y = y; | 767 | output->y = y; |
768 | } else if (strcasecmp(argv[i], "bg") == 0 || strcasecmp(argv[i], "background") == 0) { | 768 | } else if (strcasecmp(argv[i], "bg") == 0 || strcasecmp(argv[i], "background") == 0) { |
769 | wordexp_t p; | 769 | wordexp_t p; |
770 | char *src = argv[++i]; | 770 | if (++i >= argc) { |
771 | char *mode = argv[++i]; | 771 | return cmd_results_new(CMD_INVALID, "output", "Missing background file."); |
772 | } | ||
773 | char *src = argv[i]; | ||
774 | if (++i >= argc) { | ||
775 | return cmd_results_new(CMD_INVALID, "output", "Missing background scaling mode."); | ||
776 | } | ||
777 | char *mode = argv[i]; | ||
772 | if (wordexp(src, &p, 0) != 0) { | 778 | if (wordexp(src, &p, 0) != 0) { |
773 | return cmd_results_new(CMD_INVALID, "output", "Invalid syntax (%s)", src); | 779 | return cmd_results_new(CMD_INVALID, "output", "Invalid syntax (%s)", src); |
774 | } | 780 | } |