version 1.43, 2017/04/22 10:22:39 |
version 1.44, 2017/05/17 15:20:23 |
|
|
static enum cmd_retval cmd_command_prompt_exec(struct cmd *, |
static enum cmd_retval cmd_command_prompt_exec(struct cmd *, |
struct cmdq_item *); |
struct cmdq_item *); |
|
|
static int cmd_command_prompt_callback(void *, const char *, int); |
static int cmd_command_prompt_callback(struct client *, void *, |
|
const char *, int); |
static void cmd_command_prompt_free(void *); |
static void cmd_command_prompt_free(void *); |
|
|
const struct cmd_entry cmd_command_prompt_entry = { |
const struct cmd_entry cmd_command_prompt_entry = { |
|
|
}; |
}; |
|
|
struct cmd_command_prompt_cdata { |
struct cmd_command_prompt_cdata { |
struct client *c; |
int flags; |
int flags; |
|
|
|
char *inputs; |
char *inputs; |
char *next_input; |
char *next_input; |
|
|
char *prompts; |
char *prompts; |
char *next_prompt; |
char *next_prompt; |
|
|
char *template; |
char *template; |
int idx; |
int idx; |
}; |
}; |
|
|
static enum cmd_retval |
static enum cmd_retval |
|
|
return (CMD_RETURN_NORMAL); |
return (CMD_RETURN_NORMAL); |
|
|
cdata = xcalloc(1, sizeof *cdata); |
cdata = xcalloc(1, sizeof *cdata); |
cdata->c = c; |
|
|
|
cdata->inputs = NULL; |
cdata->inputs = NULL; |
cdata->next_input = NULL; |
cdata->next_input = NULL; |
|
|
} |
} |
|
|
static int |
static int |
cmd_command_prompt_callback(void *data, const char *s, int done) |
cmd_command_prompt_callback(struct client *c, void *data, const char *s, |
|
int done) |
{ |
{ |
struct cmd_command_prompt_cdata *cdata = data; |
struct cmd_command_prompt_cdata *cdata = data; |
struct client *c = cdata->c; |
|
struct cmd_list *cmdlist; |
struct cmd_list *cmdlist; |
struct cmdq_item *new_item; |
struct cmdq_item *new_item; |
char *cause, *new_template, *prompt, *ptr; |
char *cause, *new_template, *prompt, *ptr; |
|
|
|
|
if (!done) |
if (!done) |
free(new_template); |
free(new_template); |
if (c->prompt_callbackfn != cmd_command_prompt_callback) |
if (c->prompt_inputcb != cmd_command_prompt_callback) |
return (1); |
return (1); |
return (0); |
return (0); |
} |
} |