diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2017-11-22 21:39:35 -0500 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2017-11-22 21:39:35 -0500 |
| commit | 506642f8b2b1ea9f8763ac85d82937e1bb3e3946 (patch) | |
| tree | 76e5f4eacd86b12ac79c98448b0c6cc1cb459809 | |
| parent | 97fa4fdc5eab7cf8b06ba1630b0dad500d3ef8fd (diff) | |
Invoke command handlers once parsed
| -rw-r--r-- | sway/commands.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sway/commands.c b/sway/commands.c index f8c2fd99..94a45253 100644 --- a/sway/commands.c +++ b/sway/commands.c @@ -177,6 +177,16 @@ struct cmd_results *handle_command(char *_exec) { free_argv(argc, argv); goto cleanup; } + struct cmd_results *res = handler->handle(argc-1, argv+1); + if (res->status != CMD_SUCCESS) { + free_argv(argc, argv); + if (results) { + free_cmd_results(results); + } + results = res; + goto cleanup; + } + free_cmd_results(res); free_argv(argc, argv); } while(cmdlist); } while(head); |
