diff options
author | emersion <contact@emersion.fr> | 2018-09-29 11:23:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-29 11:23:38 +0200 |
commit | 0f0d0c7f9bc4c447224aa3812c31fc596a5bde7c (patch) | |
tree | 0b32b31a765eca48ce7739de7f4b602e7c71be57 /sway/commands.c | |
parent | dc01e884f7d71435015dd3e61f0e269a88975d8a (diff) | |
parent | 0a0cf4540ab57ba4af6fb547fd5c1a1df61fb8cf (diff) |
Merge pull request #2635 from RedSoxFan/fix-bg-special
Handle shell special characters in bg file path
Diffstat (limited to 'sway/commands.c')
-rw-r--r-- | sway/commands.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/sway/commands.c b/sway/commands.c index bff230f7..03761c52 100644 --- a/sway/commands.c +++ b/sway/commands.c @@ -391,14 +391,12 @@ struct cmd_results *config_command(char *exec) { // Var replacement, for all but first argument of set // TODO commands for (i = handler->handle == cmd_set ? 2 : 1; i < argc; ++i) { + if (*argv[i] == '\"' || *argv[i] == '\'') { + strip_quotes(argv[i]); + } argv[i] = do_var_replacement(argv[i]); unescape_string(argv[i]); } - // Strip quotes for first argument. - // TODO This part needs to be handled much better - if (argc>1 && (*argv[1] == '\"' || *argv[1] == '\'')) { - strip_quotes(argv[1]); - } if (handler->handle) { results = handler->handle(argc-1, argv+1); } else { @@ -422,11 +420,6 @@ struct cmd_results *config_subcommand(char **argv, int argc, char *input = argv[0] ? argv[0] : "(empty)"; return cmd_results_new(CMD_INVALID, input, "Unknown/invalid command"); } - // Strip quotes for first argument. - // TODO This part needs to be handled much better - if (argc > 1 && (*argv[1] == '\"' || *argv[1] == '\'')) { - strip_quotes(argv[1]); - } if (handler->handle) { return handler->handle(argc - 1, argv + 1); } |