diff options
| author | Markus Wick <degasus@users.noreply.github.com> | 2015-12-07 19:12:15 +0100 |
|---|---|---|
| committer | Markus Wick <degasus@users.noreply.github.com> | 2015-12-07 19:12:15 +0100 |
| commit | 9719804cd2f61adf2ab7f0dfc15efda36c5df529 (patch) | |
| tree | 7c368eff997e8db51cc6af795bf30ccf34f8ae7e /Source/Core/DiscIO/WbfsBlob.cpp | |
| parent | 31a40447d8e9d8e4d29aa58d02df20e957d8d24b (diff) | |
| parent | edbbf493f807ed94b9b32cfb7463f9b7f8f27852 (diff) | |
Merge pull request #3320 from lioncash/factory
DiscIO: Make factory methods return unique_ptrs
Diffstat (limited to 'Source/Core/DiscIO/WbfsBlob.cpp')
| -rw-r--r-- | Source/Core/DiscIO/WbfsBlob.cpp | 18 |
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) |
