aboutsummaryrefslogtreecommitdiffstats
path: root/sway
diff options
context:
space:
mode:
authorLibravatar Mikkel Oscar Lyderik <mikkeloscar@gmail.com>2015-11-28 22:02:06 +0100
committerLibravatar Mikkel Oscar Lyderik <mikkeloscar@gmail.com>2015-11-28 22:02:06 +0100
commitc477bbf345ccfcc5b48bb49c9f9784e8d8a7bfac (patch)
tree1f5a3be278c9bfd489d4b96b652d1ff2d1a7cb99 /sway
parentMerge pull request #271 from sce/move_wlc_init (diff)
downloadsway-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.
Diffstat (limited to 'sway')
-rw-r--r--sway/commands.c10
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 }