summaryrefslogtreecommitdiffstats
path: root/cmd-confirm-before.c
diff options
context:
space:
mode:
authornicm <nicm>2017-05-17 15:20:23 +0000
committernicm <nicm>2017-05-17 15:20:23 +0000
commit91d202da7ed9d63b481e03e02567775d87a90e0e (patch)
treef84c1ed0754eead05f4a4b11524cdb38220a4501 /cmd-confirm-before.c
parent31625c2d171080aea53baee7c0aec7e9f939cf7d (diff)
Tidy command prompt callbacks and pass in the client.
Diffstat (limited to 'cmd-confirm-before.c')
-rw-r--r--cmd-confirm-before.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/cmd-confirm-before.c b/cmd-confirm-before.c
index 3042d066..7036d34b 100644
--- a/cmd-confirm-before.c
+++ b/cmd-confirm-before.c
@@ -31,7 +31,8 @@
static enum cmd_retval cmd_confirm_before_exec(struct cmd *,
struct cmdq_item *);
-static int cmd_confirm_before_callback(void *, const char *, int);
+static int cmd_confirm_before_callback(struct client *, void *,
+ const char *, int);
static void cmd_confirm_before_free(void *);
const struct cmd_entry cmd_confirm_before_entry = {
@@ -46,8 +47,7 @@ const struct cmd_entry cmd_confirm_before_entry = {
};
struct cmd_confirm_before_data {
- char *cmd;
- struct client *client;
+ char *cmd;
};
static enum cmd_retval
@@ -74,9 +74,6 @@ cmd_confirm_before_exec(struct cmd *self, struct cmdq_item *item)
cdata = xmalloc(sizeof *cdata);
cdata->cmd = xstrdup(args->argv[0]);
- cdata->client = c;
- cdata->client->references++;
-
status_prompt_set(c, new_prompt, NULL,
cmd_confirm_before_callback, cmd_confirm_before_free, cdata,
PROMPT_SINGLE);
@@ -97,10 +94,10 @@ cmd_confirm_before_error(struct cmdq_item *item, void *data)
}
static int
-cmd_confirm_before_callback(void *data, const char *s, __unused int done)
+cmd_confirm_before_callback(struct client *c, void *data, const char *s,
+ __unused int done)
{
struct cmd_confirm_before_data *cdata = data;
- struct client *c = cdata->client;
struct cmd_list *cmdlist;
struct cmdq_item *new_item;
char *cause;
@@ -135,9 +132,6 @@ static void
cmd_confirm_before_free(void *data)
{
struct cmd_confirm_before_data *cdata = data;
- struct client *c = cdata->client;
-
- server_client_unref(c);
free(cdata->cmd);
free(cdata);