diff options
author | Martin Szulecki | 2012-07-17 16:06:23 +0200 |
---|---|---|
committer | Nikias Bassen | 2012-07-17 16:06:23 +0200 |
commit | 91a94c556245a74c0a7187388688178c11fceaa1 (patch) | |
tree | 8bf7bdaa230d359d97e36e4c2141d9c4de1b5a37 | |
parent | 995ed659864e14b7c55ee948889b3ffff7ff4991 (diff) | |
download | idevicerestore-91a94c556245a74c0a7187388688178c11fceaa1.tar.gz idevicerestore-91a94c556245a74c0a7187388688178c11fceaa1.tar.bz2 |
restore: Set client struct's serial number field from restore mode, too
-rw-r--r-- | src/restore.c | 17 |
1 files changed, 17 insertions, 0 deletions
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"); |