diff options
author | Andrew J. Schorr <aschorr@telemetry-investments.com> | 2019-01-07 09:37:25 -0500 |
---|---|---|
committer | Andrew J. Schorr <aschorr@telemetry-investments.com> | 2019-01-07 09:37:25 -0500 |
commit | 683e1c07a179096aa4bd69000c817ca707019456 (patch) | |
tree | 6c7a0e2b99da17be63767595c45bf1f29f67b3c0 /str_array.c | |
parent | f2fc8da25ca6fe6c089e89d2a612ec3271cf1ed1 (diff) | |
download | egawk-683e1c07a179096aa4bd69000c817ca707019456.tar.gz egawk-683e1c07a179096aa4bd69000c817ca707019456.tar.bz2 egawk-683e1c07a179096aa4bd69000c817ca707019456.zip |
Use a struct instead of an array to contain the array methods.
Diffstat (limited to 'str_array.c')
-rw-r--r-- | str_array.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/str_array.c b/str_array.c index 4972a92b..2fdd1bf2 100644 --- a/str_array.c +++ b/str_array.c @@ -56,7 +56,8 @@ static NODE **str_list(NODE *symbol, NODE *subs); static NODE **str_copy(NODE *symbol, NODE *newsymb); static NODE **str_dump(NODE *symbol, NODE *ndump); -afunc_t str_array_func[] = { +const array_funcs_t str_array_func = { + "str", str_array_init, (afunc_t) 0, str_lookup, @@ -74,7 +75,8 @@ static NODE **env_store(NODE *symbol, NODE *subs); static NODE **env_clear(NODE *symbol, NODE *subs); /* special case for ENVIRON */ -afunc_t env_array_func[] = { +const array_funcs_t env_array_func = { + "env", str_array_init, (afunc_t) 0, str_lookup, @@ -796,7 +798,7 @@ env_clear(NODE *symbol, NODE *subs) environ = NULL; /* ZAP! */ /* str_clear zaps the vtable, reset it */ - symbol->array_funcs = env_array_func; + symbol->array_funcs = & env_array_func; return val; } @@ -829,5 +831,5 @@ init_env_array(NODE *env_node) if (do_posix) return; - env_node->array_funcs = env_array_func; + env_node->array_funcs = & env_array_func; } |