diff options
author | nicm <nicm> | 2017-04-22 10:22:39 +0000 |
---|---|---|
committer | nicm <nicm> | 2017-04-22 10:22:39 +0000 |
commit | ee45a8a149e1a3c8fe7c232a9e32f3a007e21bee (patch) | |
tree | 21cc9cafd10d55cd7cd92ec616d08ac59adc4a0a /cmd-lock-server.c | |
parent | 2c0f826c360fc5a8f0e125759b596eb28441ba65 (diff) | |
download | rtmux-ee45a8a149e1a3c8fe7c232a9e32f3a007e21bee.tar.gz rtmux-ee45a8a149e1a3c8fe7c232a9e32f3a007e21bee.tar.bz2 rtmux-ee45a8a149e1a3c8fe7c232a9e32f3a007e21bee.zip |
Get rid of the extra layer of flags and cmd_prepare() and just store the
CMD_FIND_* flags in the cmd_entry and call it for the command. Commands
with special requirements call it themselves and update the target for
hooks to use.
Diffstat (limited to 'cmd-lock-server.c')
-rw-r--r-- | cmd-lock-server.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/cmd-lock-server.c b/cmd-lock-server.c index 117c423f..524fa451 100644 --- a/cmd-lock-server.c +++ b/cmd-lock-server.c @@ -44,7 +44,7 @@ const struct cmd_entry cmd_lock_session_entry = { .args = { "t:", 0, 0 }, .usage = CMD_TARGET_SESSION_USAGE, - .tflag = CMD_SESSION, + .target = { 't', CMD_FIND_SESSION, 0 }, .flags = CMD_AFTERHOOK, .exec = cmd_lock_server_exec @@ -57,22 +57,25 @@ const struct cmd_entry cmd_lock_client_entry = { .args = { "t:", 0, 0 }, .usage = CMD_TARGET_CLIENT_USAGE, - .tflag = CMD_CLIENT, - .flags = CMD_AFTERHOOK, .exec = cmd_lock_server_exec }; static enum cmd_retval -cmd_lock_server_exec(struct cmd *self, __unused struct cmdq_item *item) +cmd_lock_server_exec(struct cmd *self, struct cmdq_item *item) { + struct args *args = self->args; + struct client *c; + if (self->entry == &cmd_lock_server_entry) server_lock(); else if (self->entry == &cmd_lock_session_entry) - server_lock_session(item->state.tflag.s); - else - server_lock_client(item->state.c); - + server_lock_session(item->target.s); + else { + if ((c = cmd_find_client(item, args_get(args, 't'), 0)) == NULL) + return (CMD_RETURN_ERROR); + server_lock_client(c); + } recalculate_sizes(); return (CMD_RETURN_NORMAL); |