summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/WbfsBlob.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/DiscIO/WbfsBlob.cpp')
-rw-r--r--Source/Core/DiscIO/WbfsBlob.cpp18
1 files changed, 7 insertions, 11 deletions
diff --git a/Source/Core/DiscIO/WbfsBlob.cpp b/Source/Core/DiscIO/WbfsBlob.cpp
index 7aaa09c8b1..1ce88fa7d3 100644
--- a/Source/Core/DiscIO/WbfsBlob.cpp
+++ b/Source/Core/DiscIO/WbfsBlob.cpp
@@ -5,6 +5,7 @@
#include <algorithm>
#include <cstdio>
#include <cstring>
+#include <memory>
#include <string>
#include <vector>
@@ -167,19 +168,14 @@ File::IOFile& WbfsFileReader::SeekToCluster(u64 offset, u64* available)
return m_files[0]->file;
}
-WbfsFileReader* WbfsFileReader::Create(const std::string& filename)
+std::unique_ptr<WbfsFileReader> WbfsFileReader::Create(const std::string& filename)
{
- WbfsFileReader* reader = new WbfsFileReader(filename);
+ auto reader = std::unique_ptr<WbfsFileReader>(new WbfsFileReader(filename));
- if (reader->IsGood())
- {
- return reader;
- }
- else
- {
- delete reader;
- return nullptr;
- }
+ if (!reader->IsGood())
+ reader.reset();
+
+ return reader;
}
bool IsWbfsBlob(const std::string& filename)