diff options
author | Felix Fietkau <nbd@nbd.name> | 2025-01-24 14:46:35 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2025-01-24 19:08:45 +0100 |
commit | af881af4b0dca83e71ddaed0a4dcfdd419bb6409 (patch) | |
tree | 8938125ba8d46610fa346f415abbf90444450904 /main.c | |
parent | 175bfbdb85fe6db6bf4c93278a8ad6b9044fd58e (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.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -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) |