When using source-file, run the commands in the context of the source-file

command rather than with no context. This makes things like attach work from a
file.
This commit is contained in:
Nicholas Marriott
2009-08-23 17:29:51 +00:00
parent 43cd40e87a
commit c7394ac4e0
4 changed files with 14 additions and 9 deletions

15
cfg.c
View File

@ -51,7 +51,7 @@ cfg_error(unused struct cmd_ctx *ctx, const char *fmt, ...)
}
int
load_cfg(const char *path, char **cause)
load_cfg(const char *path, struct cmd_ctx *ctxin, char **cause)
{
FILE *f;
u_int n;
@ -87,15 +87,20 @@ load_cfg(const char *path, char **cause)
continue;
cfg_cause = NULL;
ctx.msgdata = NULL;
ctx.curclient = NULL;
if (ctxin == NULL) {
ctx.msgdata = NULL;
ctx.curclient = NULL;
ctx.cmdclient = NULL;
} else {
ctx.msgdata = ctxin->msgdata;
ctx.curclient = ctxin->curclient;
ctx.cmdclient = ctxin->cmdclient;
}
ctx.error = cfg_error;
ctx.print = cfg_print;
ctx.info = cfg_print;
ctx.cmdclient = NULL;
cfg_cause = NULL;
cmd_list_exec(cmdlist, &ctx);
cmd_list_free(cmdlist);