From bc4e8ec23a60e6936497826f29cbed39da4f964b Mon Sep 17 00:00:00 2001 From: Martin Szulecki Date: Tue, 17 Jul 2012 16:17:09 +0200 Subject: restore: Query and output saved debug information in restore mode This includes USB and panic logs if available and last restore exit status. --- src/restore.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src') diff --git a/src/restore.c b/src/restore.c index 367e73e..77b658e 100644 --- a/src/restore.c +++ b/src/restore.c @@ -1389,6 +1389,34 @@ int restore_device(struct idevicerestore_client_t* client, plist_t build_identit plist_free(info); } + restore_error = restored_query_value(restore, "SavedDebugInfo", &info); + if (restore_error == RESTORE_E_SUCCESS) { + char* sval = NULL; + + node = plist_dict_get_item(info, "PreviousExitStatus"); + if (node && plist_get_node_type(node) == PLIST_STRING) { + plist_get_string_val(node, &sval); + info("Previous restore exit status: %s\n", sval); + free(sval); + sval = NULL; + } + + node = plist_dict_get_item(info, "USBLog"); + if (node && plist_get_node_type(node) == PLIST_STRING) { + plist_get_string_val(node, &sval); + info("USB log is available:\n%s\n", sval); + sval = NULL; + } + + node = plist_dict_get_item(info, "PanicLog"); + if (node && plist_get_node_type(node) == PLIST_STRING) { + plist_get_string_val(node, &sval); + info("Panic log is available:\n%s\n", sval); + sval = NULL; + } + plist_free(info); + } + plist_t opts = plist_new_dict(); // FIXME: required? //plist_dict_insert_item(opts, "AuthInstallRestoreBehavior", plist_new_string("Erase")); -- cgit v1.1-32-gdbae