commands: fix exec quoting

This commit is contained in:
Ian Fan 2018-08-28 15:19:52 +01:00
parent 5f6dcffe47
commit 79899064b6

View file

@ -21,20 +21,15 @@ struct cmd_results *cmd_exec_always(int argc, char **argv) {
} }
char *tmp = NULL; char *tmp = NULL;
if (strcmp((char*)*argv, "--no-startup-id") == 0) { if (strcmp(argv[0], "--no-startup-id") == 0) {
wlr_log(WLR_INFO, "exec switch '--no-startup-id' not supported, ignored."); wlr_log(WLR_INFO, "exec switch '--no-startup-id' not supported, ignored.");
if ((error = checkarg(argc - 1, "exec_always", EXPECTED_MORE_THAN, 0))) { --argc; ++argv;
if ((error = checkarg(argc, "exec_always", EXPECTED_MORE_THAN, 0))) {
return error; return error;
} }
--argc; ++argv;
} }
if (argv[0][0] == '\'' || argv[0][0] == '"') { if (argc == 1 && (argv[0][0] == '\'' || argv[0][0] == '"')) {
if (argc > 0) {
return cmd_results_new(CMD_INVALID, "exec_always",
"command cannot be partially quoted");
}
tmp = strdup(argv[0]); tmp = strdup(argv[0]);
strip_quotes(tmp); strip_quotes(tmp);
} else { } else {