aboutsummaryrefslogtreecommitdiffstats
path: root/main.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2015-05-16 23:10:29 +0300
committerArnold D. Robbins <arnold@skeeve.com>2015-05-16 23:10:29 +0300
commit1966bd9cd849c3d83dbb0fcb547684b17c2cd61e (patch)
tree817aa91f2e0720e810f20d0abc30895f1fe62bd1 /main.c
parentc5bc34ad1537ceaba4962d1639f61ca4b4d50e94 (diff)
parentb6963495dffd0bc11e2007b9854ad34d14b0b29c (diff)
downloadegawk-1966bd9cd849c3d83dbb0fcb547684b17c2cd61e.tar.gz
egawk-1966bd9cd849c3d83dbb0fcb547684b17c2cd61e.tar.bz2
egawk-1966bd9cd849c3d83dbb0fcb547684b17c2cd61e.zip
Merge branch 'master' into feature/regex-type
Diffstat (limited to 'main.c')
-rw-r--r--main.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/main.c b/main.c
index ef4f8550..b17ab309 100644
--- a/main.c
+++ b/main.c
@@ -892,6 +892,33 @@ load_environ()
return ENVIRON_node;
}
+static void
+load_procinfo_argv()
+{
+ NODE *tmp;
+ NODE **aptr;
+ NODE *argv_array;
+ int i;
+
+ tmp = make_string("argv", 4);
+ aptr = assoc_lookup(PROCINFO_node, tmp);
+ unref(tmp);
+ unref(*aptr);
+ getnode(argv_array);
+ memset(argv_array, '\0', sizeof(NODE)); /* valgrind wants this */
+ null_array(argv_array);
+ *aptr = argv_array;
+ argv_array->parent_array = PROCINFO_node;
+ argv_array->vname = estrdup("argv", 4);
+ for (i = 0; d_argv[i] != NULL; i++) {
+ tmp = make_number(i);
+ aptr = assoc_lookup(argv_array, tmp);
+ unref(tmp);
+ unref(*aptr);
+ *aptr = make_string(d_argv[i], strlen(d_argv[i]));
+ }
+}
+
/* load_procinfo --- populate the PROCINFO array */
static NODE *
@@ -991,6 +1018,7 @@ load_procinfo()
groupset = NULL;
}
#endif
+ load_procinfo_argv();
return PROCINFO_node;
}