summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/VolumeDirectory.cpp
diff options
context:
space:
mode:
authorScott Mansell <phiren@gmail.com>2015-11-28 22:32:12 +1300
committerScott Mansell <phiren@gmail.com>2015-11-28 22:32:12 +1300
commit4b4b753cc408ef607bd5dd97a64ba5f423d124e1 (patch)
tree54b6e0cb5feba7124e7c07063312b96d77df68b7 /Source/Core/DiscIO/VolumeDirectory.cpp
parent5a1729877e5d0f801d18bafc3ca134721da4959f (diff)
parentf9af58a3882ab70558c1d61ef86e6b41e61b7f42 (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.cpp11
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;