diff options
author | 2013-03-22 15:49:55 +0000 | |
---|---|---|
committer | 2013-03-22 15:49:55 +0000 | |
commit | de9a15de72aa0757cd1a1bfd8aaeafe306453bdc (patch) | |
tree | b3a7edbdb60e25f3fca5f750c86f1ef8165cf3b6 /usr.bin/tmux/cmd-confirm-before.c | |
parent | sync (diff) | |
download | wireguard-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.c | 21 |
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); } |