From 0e7eaaba5a170a935ca23e791f7b127646ff9464 Mon Sep 17 00:00:00 2001 From: Liam Date: Sun, 11 Jun 2023 23:53:23 -0400 Subject: vfs_real: lazily open files --- src/core/file_sys/vfs_real.cpp | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'src/core/file_sys/vfs_real.cpp') 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(std::move(backing)); + auto reference = std::make_unique(); this->InsertReferenceIntoList(*reference); + return std::shared_ptr(new RealVfsFile(*this, std::move(reference), path, perms)); } -- cgit v1.2.3