aboutsummaryrefslogtreecommitdiffstats
path: root/gawkapi.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2019-01-20 22:20:47 +0200
committerArnold D. Robbins <arnold@skeeve.com>2019-01-20 22:20:47 +0200
commit9a0812e1b5ed67c3e75e70749a7e2a54f9c2bfcc (patch)
treef7924aeb58a0b721e91f1127c92e18b3fbf3e54e /gawkapi.c
parenta6ece4a82072150e4b269b5698bb8caf14075bcb (diff)
parent5766636f7bb7eb6d8fa9fd1b097ca74329062173 (diff)
downloadegawk-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.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/gawkapi.c b/gawkapi.c
index 3227d55f..c76c7b53 100644
--- a/gawkapi.c
+++ b/gawkapi.c
@@ -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;
}