diff options
-rw-r--r-- | src/core/hle/service/filesystem/filesystem.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/hle/service/filesystem/filesystem.cpp b/src/core/hle/service/filesystem/filesystem.cpp index 102017d73f..432ed32209 100644 --- a/src/core/hle/service/filesystem/filesystem.cpp +++ b/src/core/hle/service/filesystem/filesystem.cpp @@ -40,7 +40,10 @@ static FileSys::VirtualDir GetDirectoryRelativeWrapped(FileSys::VirtualDir base, if (dir_name.empty() || dir_name == "." || dir_name == "/" || dir_name == "\\") return base; - return base->GetDirectoryRelative(dir_name); + const auto res = base->GetDirectoryRelative(dir_name); + if (res == nullptr) + return base->CreateDirectoryRelative(dir_name); + return res; } VfsDirectoryServiceWrapper::VfsDirectoryServiceWrapper(FileSys::VirtualDir backing_) |