summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Xiao Deng2019-08-13 11:56:11 +0200
committerGravatar Nikias Bassen2019-08-13 12:01:56 +0200
commit025d042c6228ab41832bcb3ebbae070a76033a4c (patch)
treebbe4360a533577cddc9964b7efd7cf70e1c2271e
parente1a5d60e98b72fe110391da848c77cc36665bd66 (diff)
downloadlibplist-025d042c6228ab41832bcb3ebbae070a76033a4c.tar.gz
libplist-025d042c6228ab41832bcb3ebbae070a76033a4c.tar.bz2
plist: Remove unnecessary parameter from plist_copy_node()
-rw-r--r--src/plist.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/plist.c b/src/plist.c
index 4600198..eb0160c 100644
--- a/src/plist.c
+++ b/src/plist.c
@@ -321,7 +321,7 @@ PLIST_API void plist_free(plist_t plist)
321 } 321 }
322} 322}
323 323
324static plist_t plist_copy_node(node_t *node, void *parent_node_ptr) 324static plist_t plist_copy_node(node_t *node)
325{ 325{
326 plist_type node_type = PLIST_NONE; 326 plist_type node_type = PLIST_NONE;
327 plist_t newnode = NULL; 327 plist_t newnode = NULL;
@@ -362,20 +362,13 @@ static plist_t plist_copy_node(node_t *node, void *parent_node_ptr)
362 } 362 }
363 newnode = plist_new_node(newdata); 363 newnode = plist_new_node(newdata);
364 364
365 if (*(plist_t*)parent_node_ptr)
366 {
367 node_attach(*(plist_t*)parent_node_ptr, newnode);
368 }
369 else
370 {
371 *(plist_t*)parent_node_ptr = newnode;
372 }
373
374 node_t *ch; 365 node_t *ch;
375 unsigned int node_index = 0; 366 unsigned int node_index = 0;
376 for (ch = node_first_child(node); ch; ch = node_next_sibling(ch)) { 367 for (ch = node_first_child(node); ch; ch = node_next_sibling(ch)) {
377 /* copy child node and attach to new parent node */ 368 /* copy child node */
378 plist_t newch = plist_copy_node(ch, &newnode); 369 plist_t newch = plist_copy_node(ch);
370 /* attach to new parent node */
371 node_attach(newnode, newch);
379 /* if needed, add child node to lookup table of parent node */ 372 /* if needed, add child node to lookup table of parent node */
380 switch (node_type) { 373 switch (node_type) {
381 case PLIST_ARRAY: 374 case PLIST_ARRAY:
@@ -398,8 +391,7 @@ static plist_t plist_copy_node(node_t *node, void *parent_node_ptr)
398 391
399PLIST_API plist_t plist_copy(plist_t node) 392PLIST_API plist_t plist_copy(plist_t node)
400{ 393{
401 plist_t copied = NULL; 394 return plist_copy_node(node);
402 return plist_copy_node(node, &copied);
403} 395}
404 396
405PLIST_API uint32_t plist_array_get_size(plist_t node) 397PLIST_API uint32_t plist_array_get_size(plist_t node)