version 1.33, 2020/04/13 08:26:27 |
version 1.34, 2020/04/13 10:59:58 |
|
|
static enum cmd_retval |
static enum cmd_retval |
cmd_detach_client_exec(struct cmd *self, struct cmdq_item *item) |
cmd_detach_client_exec(struct cmd *self, struct cmdq_item *item) |
{ |
{ |
struct args *args = cmd_get_args(self); |
struct args *args = cmd_get_args(self); |
struct client *c, *cloop; |
struct cmd_find_state *source = cmdq_get_source(item); |
struct session *s; |
struct client *c, *cloop; |
enum msgtype msgtype; |
struct session *s; |
const char *cmd = args_get(args, 'E'); |
enum msgtype msgtype; |
|
const char *cmd = args_get(args, 'E'); |
|
|
if ((c = cmd_find_client(item, args_get(args, 't'), 0)) == NULL) |
if ((c = cmd_find_client(item, args_get(args, 't'), 0)) == NULL) |
return (CMD_RETURN_ERROR); |
return (CMD_RETURN_ERROR); |
|
|
msgtype = MSG_DETACH; |
msgtype = MSG_DETACH; |
|
|
if (args_has(args, 's')) { |
if (args_has(args, 's')) { |
s = item->source.s; |
s = source->s; |
if (s == NULL) |
if (s == NULL) |
return (CMD_RETURN_NORMAL); |
return (CMD_RETURN_NORMAL); |
TAILQ_FOREACH(cloop, &clients, entry) { |
TAILQ_FOREACH(cloop, &clients, entry) { |