diff options
| author | Scott Mansell <phiren@gmail.com> | 2015-11-28 22:32:12 +1300 |
|---|---|---|
| committer | Scott Mansell <phiren@gmail.com> | 2015-11-28 22:32:12 +1300 |
| commit | 4b4b753cc408ef607bd5dd97a64ba5f423d124e1 (patch) | |
| tree | 54b6e0cb5feba7124e7c07063312b96d77df68b7 /Source/Core/DiscIO/VolumeDirectory.cpp | |
| parent | 5a1729877e5d0f801d18bafc3ca134721da4959f (diff) | |
| parent | f9af58a3882ab70558c1d61ef86e6b41e61b7f42 (diff) | |
Merge pull request #3293 from JosJuice/volumedirectory-plainfilereader
DiscIO: Don't use PlainFileReader in VolumeDirectory
Diffstat (limited to 'Source/Core/DiscIO/VolumeDirectory.cpp')
| -rw-r--r-- | Source/Core/DiscIO/VolumeDirectory.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/Source/Core/DiscIO/VolumeDirectory.cpp b/Source/Core/DiscIO/VolumeDirectory.cpp index 75204593ea..672a322c5c 100644 --- a/Source/Core/DiscIO/VolumeDirectory.cpp +++ b/Source/Core/DiscIO/VolumeDirectory.cpp @@ -17,7 +17,6 @@ #include "Common/MathUtil.h" #include "Common/Logging/Log.h" #include "DiscIO/Blob.h" -#include "DiscIO/FileBlob.h" #include "DiscIO/FileMonitor.h" #include "DiscIO/Volume.h" #include "DiscIO/VolumeDirectory.h" @@ -124,11 +123,11 @@ bool CVolumeDirectory::Read(u64 _Offset, u64 _Length, u8* _pBuffer, bool decrypt u64 fileOffset = _Offset - fileIter->first; const std::string fileName = fileIter->second; - std::unique_ptr<PlainFileReader> reader(PlainFileReader::Create(fileName)); - if (reader == nullptr) + File::IOFile file(fileName, "rb"); + if (!file) return false; - u64 fileSize = reader->GetDataSize(); + u64 fileSize = file.GetSize(); FileMon::CheckFile(fileName, fileSize); @@ -138,7 +137,9 @@ bool CVolumeDirectory::Read(u64 _Offset, u64 _Length, u8* _pBuffer, bool decrypt if (_Length < fileBytes) fileBytes = _Length; - if (!reader->Read(fileOffset, fileBytes, _pBuffer)) + if (!file.Seek(fileOffset, SEEK_SET)) + return false; + if (!file.ReadBytes(_pBuffer, fileBytes)) return false; _Length -= fileBytes; |
