From 91a94c556245a74c0a7187388688178c11fceaa1 Mon Sep 17 00:00:00 2001 From: Martin Szulecki Date: Tue, 17 Jul 2012 16:06:23 +0200 Subject: restore: Set client struct's serial number field from restore mode, too --- src/restore.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/restore.c') diff --git a/src/restore.c b/src/restore.c index eb07763..2c1ec5c 100644 --- a/src/restore.c +++ b/src/restore.c @@ -150,6 +150,23 @@ int restore_check_device(struct idevicerestore_client_t* client) { return -1; } + if (client->srnm == NULL) { + char snbuf[256]; + snbuf[0] = '\0'; + + restore_error = restored_get_value(restore, "SerialNumber", &node); + if (restore_error != RESTORE_E_SUCCESS || !node || plist_get_node_type(node) != PLIST_STRING) { + error("ERROR: Unable to get SerialNumber from restored\n"); + restored_client_free(restore); + idevice_free(device); + return -1; + } + + plist_get_string_val(node, &client->srnm); + info("INFO: device serial number is %s\n", client->srnm); + node = NULL; + } + restore_error = restored_get_value(restore, "HardwareModel", &node); if (restore_error != RESTORE_E_SUCCESS) { error("ERROR: Unable to get HardwareModel from restored\n"); -- cgit v1.1-32-gdbae