summaryrefslogtreecommitdiffhomepage
path: root/main.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2025-01-24 14:46:35 +0100
committerFelix Fietkau <nbd@nbd.name>2025-01-24 19:08:45 +0100
commitaf881af4b0dca83e71ddaed0a4dcfdd419bb6409 (patch)
tree8938125ba8d46610fa346f415abbf90444450904 /main.c
parent175bfbdb85fe6db6bf4c93278a8ad6b9044fd58e (diff)
main: add global SCRIPT_NAME variable
Fill it with the command line provided path to the source file Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'main.c')
-rw-r--r--main.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/main.c b/main.c
index 1faaba5..bca1e5f 100644
--- a/main.c
+++ b/main.c
@@ -506,6 +506,7 @@ main(int argc, char **argv)
FILE *precompile = NULL;
char *outfile = NULL;
uc_vm_t vm = { 0 };
+ const char *argv0;
int opt, rv = 0;
const char *app;
uc_value_t *o;
@@ -558,6 +559,7 @@ main(int argc, char **argv)
uc_search_path_init(&config.module_search_path);
+ argv0 = argv[optind];
optind = 1;
uc_vm_init(&vm, &config);
@@ -569,6 +571,8 @@ main(int argc, char **argv)
o = ucv_array_new(&vm);
ucv_object_add(uc_vm_scope_get(&vm), "ARGV", ucv_get(o));
+ if (argv0)
+ ucv_object_add(uc_vm_scope_get(&vm), "SCRIPT_NAME", ucv_string_new(argv0));
/* parse options iteration 2: process remaining options */
while ((opt = getopt(argc, argv, optspec)) != -1)