From ae5afea28375e28510f74fd404925ec9b2c4f430 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Fri, 12 Aug 2022 21:11:47 +0200 Subject: [PATCH] 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 --- examples/ucode/example-plugin.uc | 2 -- ucode.c | 4 +++- 2 files changed, 3 insertions(+), 3 deletions(-) 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);