|
|
@@ -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));
|
|
|
}
|
|
|
|