Return NULL from plist_copy() if passed a NULL pointer
This will prevent an assert if a NULL pointer is passed, and can make
writing some code easier and cleaner without the need for a NULL check.
For example, plist_copy(plist_dict_get_item(dict, "abc")) would give us
a copy of the dict's node if the dict has a value for the given key, or
NULL without any further checks.
diff --git a/src/plist.c b/src/plist.c
index 0fb1017..38212d8 100644
--- a/src/plist.c
+++ b/src/plist.c
@@ -445,7 +445,7 @@
PLIST_API plist_t plist_copy(plist_t node)
{
- return plist_copy_node(node);
+ return node ? plist_copy_node(node) : NULL;
}
PLIST_API uint32_t plist_array_get_size(plist_t node)