FileRequest: Fix transfer error detection not working. CID 1162764
This commit is contained in:
@@ -73,12 +73,11 @@ BFileRequest::_ProtocolLoop()
|
|||||||
char chunk[4096];
|
char chunk[4096];
|
||||||
while ((chunkSize = file.Read(chunk, sizeof(chunk))) > 0) {
|
while ((chunkSize = file.Read(chunk, sizeof(chunk))) > 0) {
|
||||||
fListener->DataReceived(this, chunk, chunkSize);
|
fListener->DataReceived(this, chunk, chunkSize);
|
||||||
|
transferredSize += chunkSize;
|
||||||
if (chunkSize > 0)
|
|
||||||
transferredSize += chunkSize;
|
|
||||||
else if (transferredSize != size)
|
|
||||||
return chunkSize;
|
|
||||||
}
|
}
|
||||||
|
// Return last error if we didn't transfer everything
|
||||||
|
if (transferredSize != size)
|
||||||
|
return chunkSize;
|
||||||
fListener->DownloadProgress(this, size, size);
|
fListener->DownloadProgress(this, size, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user