From 2da4dab86544670377b108ada0d69445d1b09a51 Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Sun, 29 Jul 2018 14:02:55 +0100 Subject: More cleanup for iterating in test suite --- test/DOMTSHandler.pm | 2 ++ test/testutils/foreach.c | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/test/DOMTSHandler.pm b/test/DOMTSHandler.pm index 0cf3a56..5022db9 100644 --- a/test/DOMTSHandler.pm +++ b/test/DOMTSHandler.pm @@ -1314,6 +1314,7 @@ sub generate_control_statement { print "unsigned int iterator$iterator_index = 0;"; print "foreach_initialise_domnamednodemap($coll, \&iterator$iterator_index);\n"; print "while(get_next_domnamednodemap($coll, \&iterator$iterator_index, \&$member)) {\n"; + $self->addto_cleanup($member); } if ($self->{"var"}->{$coll} eq "HTMLCollection") { @@ -1321,6 +1322,7 @@ sub generate_control_statement { print "unsigned int iterator$iterator_index = 0;"; print "foreach_initialise_domhtmlcollection($coll, \&iterator$iterator_index);\n"; print "while(get_next_domhtmlcollection($coll, \&iterator$iterator_index, \&$member)) {\n"; + $self->addto_cleanup($member); } } } diff --git a/test/testutils/foreach.c b/test/testutils/foreach.c index e23192c..533958f 100644 --- a/test/testutils/foreach.c +++ b/test/testutils/foreach.c @@ -93,6 +93,7 @@ bool _get_next_domnamednodemap(dom_namednodemap *map, unsigned int *iterator, do { dom_exception err; uint32_t len; + dom_node *old = *ret; err = dom_namednodemap_get_length(map, &len); if (err != DOM_NO_ERR) @@ -104,7 +105,10 @@ bool _get_next_domnamednodemap(dom_namednodemap *map, unsigned int *iterator, do err = dom_namednodemap_item(map, (*iterator), ret); if (err != DOM_NO_ERR) return false; - + + if (old != NULL) + dom_node_unref(old); + (*iterator)++; return true; -- cgit v1.2.3