version 1.40, 2020/04/13 18:59:41 |
version 1.41, 2020/04/13 20:51:57 |
|
|
.args = { "p:t:", 1, 1 }, |
.args = { "p:t:", 1, 1 }, |
.usage = "[-p prompt] " CMD_TARGET_CLIENT_USAGE " command", |
.usage = "[-p prompt] " CMD_TARGET_CLIENT_USAGE " command", |
|
|
.flags = 0, |
.flags = CMD_CLIENT_TFLAG, |
.exec = cmd_confirm_before_exec |
.exec = cmd_confirm_before_exec |
}; |
}; |
|
|
|
|
{ |
{ |
struct args *args = cmd_get_args(self); |
struct args *args = cmd_get_args(self); |
struct cmd_confirm_before_data *cdata; |
struct cmd_confirm_before_data *cdata; |
struct client *c; |
struct client *tc = cmdq_get_target_client(item); |
char *cmd, *copy, *new_prompt, *ptr; |
char *cmd, *copy, *new_prompt, *ptr; |
const char *prompt; |
const char *prompt; |
|
|
if ((c = cmd_find_client(item, args_get(args, 't'), 0)) == NULL) |
|
return (CMD_RETURN_ERROR); |
|
|
|
if ((prompt = args_get(args, 'p')) != NULL) |
if ((prompt = args_get(args, 'p')) != NULL) |
xasprintf(&new_prompt, "%s ", prompt); |
xasprintf(&new_prompt, "%s ", prompt); |
else { |
else { |
|
|
cdata = xmalloc(sizeof *cdata); |
cdata = xmalloc(sizeof *cdata); |
cdata->cmd = xstrdup(args->argv[0]); |
cdata->cmd = xstrdup(args->argv[0]); |
|
|
status_prompt_set(c, new_prompt, NULL, |
status_prompt_set(tc, new_prompt, NULL, cmd_confirm_before_callback, |
cmd_confirm_before_callback, cmd_confirm_before_free, cdata, |
cmd_confirm_before_free, cdata, PROMPT_SINGLE); |
PROMPT_SINGLE); |
|
|
|
free(new_prompt); |
free(new_prompt); |
return (CMD_RETURN_NORMAL); |
return (CMD_RETURN_NORMAL); |