aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sway/commands.c7
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) {
if (++i >= argc) {
return cmd_results_new(CMD_INVALID, "output", "Missing background file.");
}
- char *src = argv[i];
- if (++i >= argc) {
+ if (i + 1 >= argc) {
return cmd_results_new(CMD_INVALID, "output", "Missing background scaling mode.");
}
- char *mode = argv[i];
+ char *src = join_args(argv + i, argc - i - 1);
+ char *mode = argv[argc - 1];
if (wordexp(src, &p, 0) != 0) {
return cmd_results_new(CMD_INVALID, "output", "Invalid syntax (%s)", src);
}
+ free(src);
src = p.we_wordv[0];
if (config->reading && *src != '/') {
char *conf = strdup(config->current_config);