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 /cint_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 'cint_array.c')
-rw-r--r-- | cint_array.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/cint_array.c b/cint_array.c index 7db45fd2..497bd792 100644 --- a/cint_array.c +++ b/cint_array.c @@ -59,7 +59,8 @@ static NODE **cint_dump(NODE *symbol, NODE *ndump); static void cint_print(NODE *symbol); #endif -afunc_t cint_array_func[] = { +const array_funcs_t cint_array_func = { + "cint", cint_array_init, is_uinteger, cint_lookup, @@ -255,9 +256,9 @@ xinstall: */ if (is_integer(xn, subs)) - xn->array_funcs = int_array_func; + xn->array_funcs = & int_array_func; else - xn->array_funcs = str_array_func; + xn->array_funcs = & str_array_func; xn->flags |= XARRAY; } return xn->alookup(xn, subs); @@ -525,7 +526,7 @@ cint_dump(NODE *symbol, NODE *ndump) kb += (INT32_BIT * sizeof(NODE *)) / 1024.0; /* symbol->nodes */ kb += (symbol->array_capacity * sizeof(NODE *)) / 1024.0; /* value nodes in Node_array_leaf(s) */ if (xn != NULL) { - if (xn->array_funcs == int_array_func) + if (xn->array_funcs == & int_array_func) kb += int_kilobytes(xn); else kb += str_kilobytes(xn); |