diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2019-01-20 22:20:47 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2019-01-20 22:20:47 +0200 |
commit | 9a0812e1b5ed67c3e75e70749a7e2a54f9c2bfcc (patch) | |
tree | f7924aeb58a0b721e91f1127c92e18b3fbf3e54e /gawkapi.c | |
parent | a6ece4a82072150e4b269b5698bb8caf14075bcb (diff) | |
parent | 5766636f7bb7eb6d8fa9fd1b097ca74329062173 (diff) | |
download | egawk-9a0812e1b5ed67c3e75e70749a7e2a54f9c2bfcc.tar.gz egawk-9a0812e1b5ed67c3e75e70749a7e2a54f9c2bfcc.tar.bz2 egawk-9a0812e1b5ed67c3e75e70749a7e2a54f9c2bfcc.zip |
Merge branch 'master' into feature/fix-ns-memleak
Diffstat (limited to 'gawkapi.c')
-rw-r--r-- | gawkapi.c | 9 |
1 files changed, 2 insertions, 7 deletions
@@ -1046,7 +1046,6 @@ api_set_array_element(awk_ext_id_t id, awk_array_t a_cookie, NODE *array = (NODE *)a_cookie; NODE *tmp; NODE *elem; - NODE **aptr; /* don't check for index len zero, null str is ok as index */ if ( array == NULL @@ -1058,17 +1057,13 @@ api_set_array_element(awk_ext_id_t id, awk_array_t a_cookie, return awk_false; tmp = awk_value_to_node(index); - aptr = assoc_lookup(array, tmp); - unref(*aptr); - elem = *aptr = awk_value_to_node(value); + elem = awk_value_to_node(value); if (elem->type == Node_var_array) { elem->parent_array = array; elem->vname = estrdup(index->str_value.str, index->str_value.len); } - if (array->astore != NULL) - (*array->astore)(array, tmp); - unref(tmp); + assoc_set(array, tmp, elem); return awk_true; } |