diff options
Diffstat (limited to 'src/idevicerestore.c')
-rw-r--r-- | src/idevicerestore.c | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/src/idevicerestore.c b/src/idevicerestore.c index 423d79c..a051b95 100644 --- a/src/idevicerestore.c +++ b/src/idevicerestore.c @@ -284,8 +284,9 @@ int idevicerestore_start(struct idevicerestore_client_t* client) } // discover the device type - if (check_hardware_model(client) == NULL || client->device == NULL) { - error("ERROR: Unable to discover device model\n"); + client->device = get_irecv_device(client); + if (client->device == NULL) { + error("ERROR: Unable to discover device type\n"); return -1; } idevicerestore_progress(client, RESTORE_STEP_DETECT, 0.2); @@ -1193,8 +1194,7 @@ int check_mode(struct idevicerestore_client_t* client) { return mode; } -const char* check_hardware_model(struct idevicerestore_client_t* client) { - const char* hw_model = NULL; +irecv_device_t get_irecv_device(struct idevicerestore_client_t *client) { int mode = MODE_UNKNOWN; if (client->mode) { @@ -1203,26 +1203,18 @@ const char* check_hardware_model(struct idevicerestore_client_t* client) { switch (mode) { case MODE_RESTORE: - hw_model = restore_check_hardware_model(client); - break; + return restore_get_irecv_device(client); case MODE_NORMAL: - hw_model = normal_check_hardware_model(client); - break; + return normal_get_irecv_device(client); case MODE_DFU: case MODE_RECOVERY: - hw_model = dfu_check_hardware_model(client); - break; - default: - break; - } + return dfu_get_irecv_device(client); - if (hw_model != NULL) { - irecv_devices_get_device_by_hardware_model(hw_model, &client->device); + default: + return NULL; } - - return hw_model; } int is_image4_supported(struct idevicerestore_client_t* client) |