From fa9937cc4f8e60ddfc2dd9b5820eac49bef3de6e Mon Sep 17 00:00:00 2001 From: Denis Osvald Date: Thu, 18 May 2017 09:39:28 +0200 Subject: [PATCH] json_script: enable custom expr handler callback This wires in custom expression handler functionality, which was present in json script since the original version, but never used. Signed-off-by: Denis Osvald Signed-off-by: Felix Fietkau [error handling fix] --- json_script.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/json_script.c b/json_script.c index 463aac8..87b1d71 100644 --- a/json_script.c +++ b/json_script.c @@ -415,8 +415,10 @@ static int json_process_expr(struct json_call *call, struct blob_attr *cur) } ret = __json_process_type(call, cur, expr, ARRAY_SIZE(expr), &found); - if (!found) - ctx->handle_error(ctx, "Unknown expression type", cur); + if (!found) { + const char *name = blobmsg_data(blobmsg_data(cur)); + ctx->handle_expr(ctx, name, cur, call->vars); + } return ret; } @@ -671,6 +673,7 @@ static int __default_handle_expr(struct json_script_ctx *ctx, const char *name, struct blob_attr *expr, struct blob_attr *vars) { + ctx->handle_error(ctx, "Unknown expression type", expr); return -1; }