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/Filesystem.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/Filesystem.cpp')
| -rw-r--r-- | Source/Core/DiscIO/Filesystem.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/Source/Core/DiscIO/Filesystem.cpp b/Source/Core/DiscIO/Filesystem.cpp index c723569088..3ca1f70f04 100644 --- a/Source/Core/DiscIO/Filesystem.cpp +++ b/Source/Core/DiscIO/Filesystem.cpp @@ -2,6 +2,7 @@ // Licensed under GPLv2+ // Refer to the license.txt file included. +#include <memory> #include "DiscIO/Filesystem.h" #include "DiscIO/FileSystemGCWii.h" @@ -17,20 +18,17 @@ IFileSystem::~IFileSystem() {} -IFileSystem* CreateFileSystem(const IVolume* _rVolume) +std::unique_ptr<IFileSystem> CreateFileSystem(const IVolume* volume) { - IFileSystem* pFileSystem = new CFileSystemGCWii(_rVolume); + std::unique_ptr<IFileSystem> filesystem = std::make_unique<CFileSystemGCWii>(volume); - if (!pFileSystem) + if (!filesystem) return nullptr; - if (!pFileSystem->IsValid()) - { - delete pFileSystem; - pFileSystem = nullptr; - } + if (!filesystem->IsValid()) + filesystem.reset(); - return pFileSystem; + return filesystem; } } // namespace |
