summaryrefslogtreecommitdiffstats
path: root/src/service.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/service.c')
-rw-r--r--src/service.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/service.c b/src/service.c
index 2dc42b2..57d987c 100644
--- a/src/service.c
+++ b/src/service.c
@@ -46,6 +46,10 @@ static service_error_t idevice_to_service_error(idevice_error_t err)
return SERVICE_E_INVALID_ARG;
case IDEVICE_E_SSL_ERROR:
return SERVICE_E_SSL_ERROR;
+ case IDEVICE_E_NOT_ENOUGH_DATA:
+ return SERIVCE_E_NOT_ENOUGH_DATA;
+ case IDEVICE_E_TIMEOUT:
+ return SERVICE_E_TIMEOUT;
default:
break;
}
@@ -159,8 +163,9 @@ LIBIMOBILEDEVICE_API service_error_t service_receive_with_timeout(service_client
}
res = idevice_to_service_error(idevice_connection_receive_timeout(client->connection, data, size, (uint32_t*)&bytes, timeout));
- if (bytes <= 0) {
+ if (res != SERVICE_E_SUCCESS) {
debug_info("could not read data");
+ return res;
}
if (received) {
*received = (uint32_t)bytes;