From: Jo-Philipp Wich Date: Fri, 12 Aug 2022 19:11:47 +0000 (+0200) Subject: ucode: parse ucode plugin scripts in raw mode, init search path X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=ae5afea28375e28510f74fd404925ec9b2c4f430;p=project%2Frpcd.git ucode: parse ucode plugin scripts in raw mode, init search path It makes little sense to execute rpcd ucode plugin scripts in template mode since those scripts are supposed to output structured JSON data, so change the parse config to compile scripts in raw mode. Also initialize the default library search path which is required in recent ucode versions. Signed-off-by: Jo-Philipp Wich --- diff --git a/examples/ucode/example-plugin.uc b/examples/ucode/example-plugin.uc index a336671..a96b703 100644 --- a/examples/ucode/example-plugin.uc +++ b/examples/ucode/example-plugin.uc @@ -1,5 +1,3 @@ -{% - 'use strict'; let ubus = require('ubus').connect(); diff --git a/ucode.c b/ucode.c index face784..c67a619 100644 --- a/ucode.c +++ b/ucode.c @@ -77,7 +77,8 @@ typedef struct { static uc_parse_config_t config = { .strict_declarations = false, .lstrip_blocks = true, - .trim_blocks = true + .trim_blocks = true, + .raw_mode = true }; @@ -928,6 +929,7 @@ rpc_ucode_script_execute(struct ubus_context *ctx, const char *path, uc_program_ script->path = strncpy(pptr, path, pathlen); + uc_search_path_init(&config.module_search_path); uc_vm_init(&script->vm, &config); rpc_ucode_init_globals(script);