summaryrefslogtreecommitdiffstats
path: root/src/xplist.c
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2018-12-10 02:20:24 +0100
committerGravatar Nikias Bassen2018-12-10 02:22:15 +0100
commit4de329327ce4aa175e8496d1bff8604bffb6c574 (patch)
tree0c5fce7e138756a2479acab5a3098fa12ea6971b /src/xplist.c
parent71dd25e14616bd261c3b6c80ff990cd1078266f6 (diff)
downloadlibplist-4de329327ce4aa175e8496d1bff8604bffb6c574.tar.gz
libplist-4de329327ce4aa175e8496d1bff8604bffb6c574.tar.bz2
Remove node_iterator and operate on node list directly to improve memory usage
Diffstat (limited to 'src/xplist.c')
-rw-r--r--src/xplist.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/xplist.c b/src/xplist.c
index 6e64427..29b1284 100644
--- a/src/xplist.c
+++ b/src/xplist.c
@@ -40,7 +40,6 @@
#include <node.h>
#include <node_list.h>
-#include <node_iterator.h>
#include "plist.h"
#include "base64.h"
@@ -356,12 +355,10 @@ static void node_to_xml(node_t* node, bytearray_t **outbuf, uint32_t depth)
if (node_data->type == PLIST_DICT) {
assert((node->children->count % 2) == 0);
}
- node_iterator_t *ni = node_iterator_create(node->children);
node_t *ch;
- while ((ch = node_iterator_next(ni))) {
+ for (ch = node_first_child(node); ch; ch = node_next_sibling(ch)) {
node_to_xml(ch, outbuf, depth+1);
}
- node_iterator_destroy(ni);
}
/* fix indent for structured types */