diff options
author | Mykyta Holubakha <hilobakho@gmail.com> | 2016-05-23 19:53:27 +0300 |
---|---|---|
committer | Drew DeVault <ddevault@linode.com> | 2016-05-23 13:09:18 -0400 |
commit | 16dc31f33b201e949f912f993ef927c72a307b88 (patch) | |
tree | 0a1b5404321ba49480cacdb3785ef71863103c24 /sway/commands.c | |
parent | Merge pull request #670 from sleep-walker/master (diff) | |
download | sway-16dc31f33b201e949f912f993ef927c72a307b88.tar.gz sway-16dc31f33b201e949f912f993ef927c72a307b88.tar.zst sway-16dc31f33b201e949f912f993ef927c72a307b88.zip |
Concatenate output cmd args, fixes #654
Diffstat (limited to 'sway/commands.c')
-rw-r--r-- | sway/commands.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sway/commands.c b/sway/commands.c index 9c5309f9..fbdb5fb8 100644 --- a/sway/commands.c +++ b/sway/commands.c | |||
@@ -1557,14 +1557,15 @@ static struct cmd_results *cmd_output(int argc, char **argv) { | |||
1557 | if (++i >= argc) { | 1557 | if (++i >= argc) { |
1558 | return cmd_results_new(CMD_INVALID, "output", "Missing background file."); | 1558 | return cmd_results_new(CMD_INVALID, "output", "Missing background file."); |
1559 | } | 1559 | } |
1560 | char *src = argv[i]; | 1560 | if (i + 1 >= argc) { |
1561 | if (++i >= argc) { | ||
1562 | return cmd_results_new(CMD_INVALID, "output", "Missing background scaling mode."); | 1561 | return cmd_results_new(CMD_INVALID, "output", "Missing background scaling mode."); |
1563 | } | 1562 | } |
1564 | char *mode = argv[i]; | 1563 | char *src = join_args(argv + i, argc - i - 1); |
1564 | char *mode = argv[argc - 1]; | ||
1565 | if (wordexp(src, &p, 0) != 0) { | 1565 | if (wordexp(src, &p, 0) != 0) { |
1566 | return cmd_results_new(CMD_INVALID, "output", "Invalid syntax (%s)", src); | 1566 | return cmd_results_new(CMD_INVALID, "output", "Invalid syntax (%s)", src); |
1567 | } | 1567 | } |
1568 | free(src); | ||
1568 | src = p.we_wordv[0]; | 1569 | src = p.we_wordv[0]; |
1569 | if (config->reading && *src != '/') { | 1570 | if (config->reading && *src != '/') { |
1570 | char *conf = strdup(config->current_config); | 1571 | char *conf = strdup(config->current_config); |