diff options
Diffstat (limited to 'Source/Core/DiscIO/FileHandlerARC.cpp')
| -rw-r--r-- | Source/Core/DiscIO/FileHandlerARC.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/Source/Core/DiscIO/FileHandlerARC.cpp b/Source/Core/DiscIO/FileHandlerARC.cpp index 96bfaf9c57..9d53f0a0b9 100644 --- a/Source/Core/DiscIO/FileHandlerARC.cpp +++ b/Source/Core/DiscIO/FileHandlerARC.cpp @@ -5,6 +5,7 @@ #include <cstddef> #include <cstdio> #include <cstring> +#include <memory> #include <string> #include "Common/Common.h" @@ -22,13 +23,12 @@ CARCFile::CARCFile(const std::string& _rFilename) : m_pBuffer(nullptr) , m_Initialized(false) { - DiscIO::IBlobReader* pReader = DiscIO::CreateBlobReader(_rFilename.c_str()); - if (pReader != nullptr) + std::unique_ptr<IBlobReader> reader(DiscIO::CreateBlobReader(_rFilename)); + if (reader != nullptr) { - u64 FileSize = pReader->GetDataSize(); + u64 FileSize = reader->GetDataSize(); m_pBuffer = new u8[(u32)FileSize]; - pReader->Read(0, FileSize, m_pBuffer); - delete pReader; + reader->Read(0, FileSize, m_pBuffer); m_Initialized = ParseBuffer(); } @@ -38,13 +38,12 @@ CARCFile::CARCFile(const std::string& _rFilename, u32 offset) : m_pBuffer(nullptr) , m_Initialized(false) { - DiscIO::IBlobReader* pReader = DiscIO::CreateBlobReader(_rFilename.c_str()); - if (pReader != nullptr) + std::unique_ptr<IBlobReader> reader(DiscIO::CreateBlobReader(_rFilename)); + if (reader != nullptr) { - u64 FileSize = pReader->GetDataSize() - offset; + u64 FileSize = reader->GetDataSize() - offset; m_pBuffer = new u8[(u32)FileSize]; - pReader->Read(offset, FileSize, m_pBuffer); - delete pReader; + reader->Read(offset, FileSize, m_pBuffer); m_Initialized = ParseBuffer(); } |
