From 084a160655ef1059b9f99b1cd0a6cdc80c2fb1d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Wed, 22 Jan 2014 17:47:43 +0100 Subject: [PATCH] FileRequest: Fix transfer error detection not working. CID 1162764 --- src/kits/network/libnetapi/FileRequest.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/kits/network/libnetapi/FileRequest.cpp b/src/kits/network/libnetapi/FileRequest.cpp index 326b1c7e47..75bc534cd9 100644 --- a/src/kits/network/libnetapi/FileRequest.cpp +++ b/src/kits/network/libnetapi/FileRequest.cpp @@ -73,12 +73,11 @@ BFileRequest::_ProtocolLoop() char chunk[4096]; while ((chunkSize = file.Read(chunk, sizeof(chunk))) > 0) { fListener->DataReceived(this, chunk, chunkSize); - - if (chunkSize > 0) - transferredSize += chunkSize; - else if (transferredSize != size) - return chunkSize; + transferredSize += chunkSize; } + // Return last error if we didn't transfer everything + if (transferredSize != size) + return chunkSize; fListener->DownloadProgress(this, size, size); }