summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/Filesystem.cpp
diff options
context:
space:
mode:
authorMarkus Wick <degasus@users.noreply.github.com>2015-12-07 19:12:15 +0100
committerMarkus Wick <degasus@users.noreply.github.com>2015-12-07 19:12:15 +0100
commit9719804cd2f61adf2ab7f0dfc15efda36c5df529 (patch)
tree7c368eff997e8db51cc6af795bf30ccf34f8ae7e /Source/Core/DiscIO/Filesystem.cpp
parent31a40447d8e9d8e4d29aa58d02df20e957d8d24b (diff)
parentedbbf493f807ed94b9b32cfb7463f9b7f8f27852 (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.cpp16
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