vfs: Handle failure of file reading within VfsRawCopy()

Also gets rid of an unused variable.
This commit is contained in:
Lioncash 2018-10-24 00:01:29 -04:00
parent c6529688fc
commit c7c594a6b8
No known key found for this signature in database
GPG Key ID: 4E3C3CC1031BA9C7

View File

@ -472,10 +472,14 @@ bool VfsRawCopy(const VirtualFile& src, const VirtualFile& dest, std::size_t blo
std::vector<u8> temp(std::min(block_size, src->GetSize()));
for (std::size_t i = 0; i < src->GetSize(); i += block_size) {
const auto read = std::min(block_size, src->GetSize() - i);
const auto block = src->Read(temp.data(), read, i);
if (dest->Write(temp.data(), read, i) != read)
if (src->Read(temp.data(), read, i) != read) {
return false;
}
if (dest->Write(temp.data(), read, i) != read) {
return false;
}
}
return true;