diff options
author | 2025-06-07 12:33:21 +0200 | |
---|---|---|
committer | 2025-06-07 12:33:21 +0200 | |
commit | e3f35586c2a97f5b7479e57884be1f2f4723b4d1 (patch) | |
tree | 36a0e2f68ead05a271d619ef9bc1381402f98c3d /tools/ideviceprovision.c | |
parent | 5af887d085155c1e75de924a4729010a52e17feb (diff) | |
download | libimobiledevice-e3f35586c2a97f5b7479e57884be1f2f4723b4d1.tar.gz libimobiledevice-e3f35586c2a97f5b7479e57884be1f2f4723b4d1.tar.bz2 |
ideviceprovision: Use new idevice_get_device_version and helper macro for version checks
Diffstat (limited to 'tools/ideviceprovision.c')
-rw-r--r-- | tools/ideviceprovision.c | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/tools/ideviceprovision.c b/tools/ideviceprovision.c index 97417eb..a8df02b 100644 --- a/tools/ideviceprovision.c +++ b/tools/ideviceprovision.c @@ -475,27 +475,7 @@ int main(int argc, char *argv[]) return -1; } - plist_t pver = NULL; - char *pver_s = NULL; - lockdownd_get_value(client, NULL, "ProductVersion", &pver); - if (pver && plist_get_node_type(pver) == PLIST_STRING) { - plist_get_string_val(pver, &pver_s); - } - plist_free(pver); - int product_version_major = 0; - int product_version_minor = 0; - int product_version_patch = 0; - if (pver_s) { - sscanf(pver_s, "%d.%d.%d", &product_version_major, &product_version_minor, &product_version_patch); - free(pver_s); - } - if (product_version_major == 0) { - fprintf(stderr, "ERROR: Could not determine the device's ProductVersion\n"); - lockdownd_client_free(client); - idevice_free(device); - return -1; - } - int product_version = ((product_version_major & 0xFF) << 16) | ((product_version_minor & 0xFF) << 8) | (product_version_patch & 0xFF); + unsigned int device_version = idevice_get_device_version(device); lockdownd_error_t lerr = lockdownd_start_service(client, MISAGENT_SERVICE_NAME, &service); if (lerr != LOCKDOWN_E_SUCCESS) { @@ -546,7 +526,7 @@ int main(int argc, char *argv[]) { plist_t profiles = NULL; misagent_error_t merr; - if (product_version < 0x090300) { + if (device_version < IDEVICE_DEVICE_VERSION(9,3,0)) { merr = misagent_copy(mis, &profiles); } else { merr = misagent_copy_all(mis, &profiles); @@ -631,7 +611,7 @@ int main(int argc, char *argv[]) /* remove all provisioning profiles */ plist_t profiles = NULL; misagent_error_t merr; - if (product_version < 0x090300) { + if (device_version < IDEVICE_DEVICE_VERSION(9,3,0)) { merr = misagent_copy(mis, &profiles); } else { merr = misagent_copy_all(mis, &profiles); |