summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/FileHandlerARC.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/DiscIO/FileHandlerARC.cpp')
-rw-r--r--Source/Core/DiscIO/FileHandlerARC.cpp19
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();
}