diff options
author | Jo-Philipp Wich <jo@mein.io> | 2022-09-12 13:44:59 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2022-09-12 13:46:18 +0200 |
commit | 0d022430861abfa84913936929f606671efddc8b (patch) | |
tree | 9da408ba5aa1518129f32db560ea4b757611ded4 | |
parent | 82904bd4f92e5928d047db6396cc14ca2b07d89f (diff) | |
download | rpcd-0d022430861abfa84913936929f606671efddc8b.tar.gz |
ucode: initialize module search path early
Ensure that the default module search path is initialized before compiling
ucode handler scripts in order to support compile time import statements.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
-rw-r--r-- | ucode.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -929,7 +929,6 @@ 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); @@ -1019,6 +1018,10 @@ rpc_ucode_api_init(const struct rpc_daemon_ops *ops, struct ubus_context *ctx) fprintf(stderr, "Failed to dlopen() ucode.so: %s, dynamic ucode plugins may fail\n", dlerror()); } + + /* initialize default module search path */ + uc_search_path_init(&config.module_search_path); + if ((d = opendir(RPC_UCSCRIPT_DIRECTORY)) != NULL) { while ((e = readdir(d)) != NULL) { snprintf(path, sizeof(path), RPC_UCSCRIPT_DIRECTORY "/%s", e->d_name); |