summaryrefslogtreecommitdiffstats
path: root/control.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2013-03-22 15:50:42 +0000
committerNicholas Marriott <nicm@openbsd.org>2013-03-22 15:50:42 +0000
commita1722d5c2e545e4cce376848aab8a39465d3a036 (patch)
tree6f2614e239f60bf789d1cda858cf5d4e12e8a081 /control.c
parent0ff9275ad75e7ef8933d290bb274d5420a625b4f (diff)
Remove unnecessary initializers of cmd_ctx.
Diffstat (limited to 'control.c')
-rw-r--r--control.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/control.c b/control.c
index cb6633ce..71a0a26c 100644
--- a/control.c
+++ b/control.c
@@ -93,7 +93,7 @@ void
control_callback(struct client *c, int closed, unused void *data)
{
char *line, *cause;
- struct cmd_ctx ctx;
+ struct cmd_ctx *ctx;
struct cmd_list *cmdlist;
if (closed)
@@ -108,22 +108,21 @@ control_callback(struct client *c, int closed, unused void *data)
break;
}
- ctx.msgdata = NULL;
- ctx.cmdclient = NULL;
- ctx.curclient = c;
-
- ctx.error = control_msg_error;
- ctx.print = control_msg_print;
- ctx.info = control_msg_info;
+ ctx = cmd_get_ctx();
+ ctx->curclient = c;
+ ctx->error = control_msg_error;
+ ctx->print = control_msg_print;
+ ctx->info = control_msg_info;
if (cmd_string_parse(line, &cmdlist, &cause) != 0) {
control_write(c, "%%error in line \"%s\": %s", line,
cause);
free(cause);
} else {
- cmd_list_exec(cmdlist, &ctx);
+ cmd_list_exec(cmdlist, ctx);
cmd_list_free(cmdlist);
}
+ cmd_free_ctx(ctx);
free(line);
}