diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-11-22 21:39:35 -0500 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2017-11-22 21:39:35 -0500 |
commit | b379b400718c05ce6cd43550b78704a2938a47c0 (patch) | |
tree | 76e5f4eacd86b12ac79c98448b0c6cc1cb459809 | |
parent | 7753a0ec750f17e1f014cda0dd2564ae0533cdd4 (diff) | |
download | sway-b379b400718c05ce6cd43550b78704a2938a47c0.tar.xz |
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); |