json_script: add json_script_run_file()

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
This commit is contained in:
Felix Fietkau 2014-04-28 17:54:25 +02:00
parent 178fe974af
commit d416bf6655
2 changed files with 13 additions and 4 deletions

View file

@ -553,10 +553,9 @@ static int json_process_cmd(struct json_call *call, struct blob_attr *block)
return 0; return 0;
} }
void json_script_run(struct json_script_ctx *ctx, const char *name, void json_script_run_file(struct json_script_ctx *ctx, struct json_script_file *file,
struct blob_attr *vars) struct blob_attr *vars)
{ {
struct json_script_file *file;
static unsigned int _seq = 0; static unsigned int _seq = 0;
struct json_call call = { struct json_call call = {
.ctx = ctx, .ctx = ctx,
@ -568,11 +567,19 @@ void json_script_run(struct json_script_ctx *ctx, const char *name,
if (!call.seq) if (!call.seq)
call.seq = ++_seq; call.seq = ++_seq;
__json_script_run(&call, file, NULL);
}
void json_script_run(struct json_script_ctx *ctx, const char *name,
struct blob_attr *vars)
{
struct json_script_file *file;
file = json_script_get_file(ctx, name); file = json_script_get_file(ctx, name);
if (!file) if (!file)
return; return;
__json_script_run(&call, file, NULL); json_script_run_file(ctx, file, vars);
} }
static void __json_script_file_free(struct json_script_ctx *ctx, struct json_script_file *f) static void __json_script_file_free(struct json_script_ctx *ctx, struct json_script_file *f)

View file

@ -97,6 +97,8 @@ void json_script_free(struct json_script_ctx *ctx);
void json_script_run(struct json_script_ctx *ctx, const char *filename, void json_script_run(struct json_script_ctx *ctx, const char *filename,
struct blob_attr *vars); struct blob_attr *vars);
void json_script_run_file(struct json_script_ctx *ctx, struct json_script_file *file,
struct blob_attr *vars);
/* /*
* json_script_eval_string - evaluate a string and store the result * json_script_eval_string - evaluate a string and store the result
* *