From 4533d9e4571da67e1a442581cbc2bef7e4e2338d Mon Sep 17 00:00:00 2001 From: Martin Szulecki Date: Fri, 16 May 2014 15:02:52 +0200 Subject: Add build_identity_has_component() helper --- src/idevicerestore.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/idevicerestore.c') diff --git a/src/idevicerestore.c b/src/idevicerestore.c index 1e7cd6f..7f545ed 100644 --- a/src/idevicerestore.c +++ b/src/idevicerestore.c @@ -1739,6 +1739,20 @@ void build_identity_print_information(plist_t build_identity) { node = NULL; } +int build_identity_has_component(plist_t build_identity, const char* component) { + plist_t manifest_node = plist_dict_get_item(build_identity, "Manifest"); + if (!manifest_node || plist_get_node_type(manifest_node) != PLIST_DICT) { + return -1; + } + + plist_t component_node = plist_dict_get_item(manifest_node, component); + if (!component_node || plist_get_node_type(component_node) != PLIST_DICT) { + return -1; + } + + return 0; +} + int build_identity_get_component_path(plist_t build_identity, const char* component, char** path) { char* filename = NULL; -- cgit v1.1-32-gdbae