summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/cmd-confirm-before.c
diff options
context:
space:
mode:
authornicm <nicm@openbsd.org>2013-03-22 15:49:55 +0000
committernicm <nicm@openbsd.org>2013-03-22 15:49:55 +0000
commitde9a15de72aa0757cd1a1bfd8aaeafe306453bdc (patch)
treeb3a7edbdb60e25f3fca5f750c86f1ef8165cf3b6 /usr.bin/tmux/cmd-confirm-before.c
parentsync (diff)
downloadwireguard-openbsd-de9a15de72aa0757cd1a1bfd8aaeafe306453bdc.tar.xz
wireguard-openbsd-de9a15de72aa0757cd1a1bfd8aaeafe306453bdc.zip
Add functions to allocate and free command contexts rather than doing it
all on the stack.
Diffstat (limited to 'usr.bin/tmux/cmd-confirm-before.c')
-rw-r--r--usr.bin/tmux/cmd-confirm-before.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/usr.bin/tmux/cmd-confirm-before.c b/usr.bin/tmux/cmd-confirm-before.c
index 66340eaeee3..7c3ca0ab87d 100644
--- a/usr.bin/tmux/cmd-confirm-before.c
+++ b/usr.bin/tmux/cmd-confirm-before.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cmd-confirm-before.c,v 1.14 2012/07/11 07:10:15 nicm Exp $ */
+/* $OpenBSD: cmd-confirm-before.c,v 1.15 2013/03/22 15:49:55 nicm Exp $ */
/*
* Copyright (c) 2009 Tiago Cunha <me@tiagocunha.org>
@@ -108,7 +108,7 @@ cmd_confirm_before_callback(void *data, const char *s)
struct cmd_confirm_before_data *cdata = data;
struct client *c = cdata->c;
struct cmd_list *cmdlist;
- struct cmd_ctx ctx;
+ struct cmd_ctx *ctx;
char *cause;
if (s == NULL || *s == '\0')
@@ -125,17 +125,18 @@ cmd_confirm_before_callback(void *data, const char *s)
return (0);
}
- ctx.msgdata = NULL;
- ctx.curclient = c;
+ ctx = cmd_get_ctx();
+ ctx->msgdata = NULL;
+ ctx->curclient = c;
+ ctx->cmdclient = NULL;
- ctx.error = key_bindings_error;
- ctx.print = key_bindings_print;
- ctx.info = key_bindings_info;
+ ctx->error = key_bindings_error;
+ ctx->print = key_bindings_print;
+ ctx->info = key_bindings_info;
- ctx.cmdclient = NULL;
-
- cmd_list_exec(cmdlist, &ctx);
+ cmd_list_exec(cmdlist, ctx);
cmd_list_free(cmdlist);
+ cmd_free_ctx(ctx);
return (0);
}