diff options
author | Nikias Bassen | 2012-07-04 13:59:33 +0200 |
---|---|---|
committer | Nikias Bassen | 2012-07-04 13:59:33 +0200 |
commit | 648eeecea5bf029513e0266a47d7b0cb4e62d1b8 (patch) | |
tree | da67be06913a486fa125deb707d31bf69eb17f85 /libirecovery.c | |
parent | 7b661e3f25ce783b68b80f185f362cf18c8442df (diff) | |
download | libirecovery-648eeecea5bf029513e0266a47d7b0cb4e62d1b8.tar.gz libirecovery-648eeecea5bf029513e0266a47d7b0cb4e62d1b8.tar.bz2 |
irecv_open: allow passing ecid 0x1222 to only get 0x1222/WTF devices
Diffstat (limited to 'libirecovery.c')
-rw-r--r-- | libirecovery.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libirecovery.c b/libirecovery.c index 0c166ff..d6b1c5b 100644 --- a/libirecovery.c +++ b/libirecovery.c @@ -177,6 +177,15 @@ irecv_error_t mobiledevice_connect(irecv_client_t* client, unsigned long long ec continue; } + if (ecid == kWTFMode) { + if (_client->mode != kWTFMode) { + // special ecid case, ignore !kWTFMode + continue; + } else { + ecid = 0; + } + } + if ((ecid != 0) && (_client->mode == kWTFMode)) { // we can't get ecid in WTF mode mobiledevice_closepipes(_client); @@ -496,6 +505,15 @@ irecv_error_t irecv_open(irecv_client_t* pclient, unsigned long long ecid) { usb_descriptor.idProduct == kWTFMode || usb_descriptor.idProduct == kDfuMode) { + if (ecid == kWTFMode) { + if (usb_descriptor.idProduct != kWTFMode) { + // special ecid case, ignore !kWTFMode + continue; + } else { + ecid = 0; + } + } + if ((ecid != 0) && (usb_descriptor.idProduct == kWTFMode)) { // we can't get ecid in WTF mode continue; |