diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/file_sys/vfs_real.cpp | 11 | ||||
-rw-r--r-- | src/core/file_sys/vfs_real.h | 3 |
2 files changed, 3 insertions, 11 deletions
diff --git a/src/core/file_sys/vfs_real.cpp b/src/core/file_sys/vfs_real.cpp index a63629b80..d16790b55 100644 --- a/src/core/file_sys/vfs_real.cpp +++ b/src/core/file_sys/vfs_real.cpp @@ -75,16 +75,9 @@ VfsEntryType RealVfsFilesystem::GetEntryType(std::string_view path_) const { VirtualFile RealVfsFilesystem::OpenFile(std::string_view path_, Mode perms) { const auto path = FS::SanitizePath(path_, FS::DirectorySeparator::PlatformDefault); - this->EvictSingleReference(); - - auto backing = FS::FileOpen(path, ModeFlagsToFileAccessMode(perms), FS::FileType::BinaryFile); - if (!backing) { - return nullptr; - } - - num_open_files++; - auto reference = std::make_unique<FileReference>(std::move(backing)); + auto reference = std::make_unique<FileReference>(); this->InsertReferenceIntoList(*reference); + return std::shared_ptr<RealVfsFile>(new RealVfsFile(*this, std::move(reference), path, perms)); } diff --git a/src/core/file_sys/vfs_real.h b/src/core/file_sys/vfs_real.h index f29c69fbd..48dc2698a 100644 --- a/src/core/file_sys/vfs_real.h +++ b/src/core/file_sys/vfs_real.h @@ -15,8 +15,7 @@ class IOFile; namespace FileSys { struct FileReference : public Common::IntrusiveListBaseNode<FileReference> { - FileReference(std::shared_ptr<Common::FS::IOFile>&& f) : file(f) {} - std::shared_ptr<Common::FS::IOFile> file; + std::shared_ptr<Common::FS::IOFile> file{}; }; class RealVfsFile; |