summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2022-08-12 21:11:47 +0200
committerJo-Philipp Wich <jo@mein.io>2022-08-12 21:14:27 +0200
commitae5afea28375e28510f74fd404925ec9b2c4f430 (patch)
treeb7c10fc0329d6fd03bcb63ff17d33f0bec0579f1
parent1c4825739b3cf19fe429c19eafa82a7f27aa99b3 (diff)
downloadrpcd-ae5afea28375e28510f74fd404925ec9b2c4f430.tar.gz
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 <jo@mein.io>
-rw-r--r--examples/ucode/example-plugin.uc2
-rw-r--r--ucode.c4
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);