diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2018-07-29 12:53:49 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2018-07-29 12:53:49 +0100 |
commit | 200d016f47a3758e74c316941b4b5b24808a6dc3 (patch) | |
tree | d3eb22191d8983dbadc9123cf4d67f702c075735 | |
parent | ce4b94ca443909a31a28e4f127dac0348bbedec1 (diff) | |
download | libdom-200d016f47a3758e74c316941b4b5b24808a6dc3.tar.gz libdom-200d016f47a3758e74c316941b4b5b24808a6dc3.tar.bz2 |
Unref nodes properly in foreach
-rw-r--r-- | test/testutils/foreach.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/test/testutils/foreach.c b/test/testutils/foreach.c index 05d7f2a..e23192c 100644 --- a/test/testutils/foreach.c +++ b/test/testutils/foreach.c @@ -44,6 +44,7 @@ bool _get_next_domnodelist(dom_nodelist *list, unsigned int *iterator, dom_node { dom_exception err; uint32_t len; + dom_node *old = *ret; err = dom_nodelist_get_length(list, &len); if (err != DOM_NO_ERR) @@ -56,6 +57,12 @@ bool _get_next_domnodelist(dom_nodelist *list, unsigned int *iterator, dom_node if (err != DOM_NO_ERR) return false; + /* NOTE: If we change the API of dom_nodelist_item to release the ref + * then we should remove this + */ + if (old != NULL) + dom_node_unref(old); + (*iterator)++; return true; } |