summaryrefslogtreecommitdiffhomepage
path: root/main.c
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2025-01-24 20:33:14 +0100
committerGitHub <noreply@github.com>2025-01-24 20:33:14 +0100
commiteb529ff233f80760f4dd10cb641288c4528da797 (patch)
tree8938125ba8d46610fa346f415abbf90444450904 /main.c
parent175bfbdb85fe6db6bf4c93278a8ad6b9044fd58e (diff)
parentaf881af4b0dca83e71ddaed0a4dcfdd419bb6409 (diff)
Merge pull request #270 from nbd168/argv0
main: add global ARGV0 variable
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)