diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2015-05-16 23:11:25 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2015-05-16 23:11:25 +0300 |
commit | fafd1f2d5f58fdd51117d3f3f80f72b433edb053 (patch) | |
tree | e69e90129f371480b857d1f26bc529a8c1c5c775 /main.c | |
parent | fb71d5fd4f483fa0a054307949324267918deb3d (diff) | |
parent | b6963495dffd0bc11e2007b9854ad34d14b0b29c (diff) | |
download | egawk-fafd1f2d5f58fdd51117d3f3f80f72b433edb053.tar.gz egawk-fafd1f2d5f58fdd51117d3f3f80f72b433edb053.tar.bz2 egawk-fafd1f2d5f58fdd51117d3f3f80f72b433edb053.zip |
Merge branch 'master' into feature/cmake
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 28 |
1 files changed, 28 insertions, 0 deletions
@@ -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; } |