mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Tidy command prompt callbacks and pass in the client.
This commit is contained in:
		@@ -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);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user