summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys
diff options
context:
space:
mode:
authorMorph <39850852+Morph1984@users.noreply.github.com>2020-12-09 11:05:32 +0100
committerMorph <39850852+Morph1984@users.noreply.github.com>2020-12-09 12:34:49 +0100
commitb06d6e36468c10864fefc33a4627e4ded36faae3 (patch)
treec68dd1b8c2873c623a5dfde1eb68b53d440d2669 /src/core/file_sys
parentMerge pull request #5174 from ReinUsesLisp/fs-fix (diff)
downloadyuzu-b06d6e36468c10864fefc33a4627e4ded36faae3.tar
yuzu-b06d6e36468c10864fefc33a4627e4ded36faae3.tar.gz
yuzu-b06d6e36468c10864fefc33a4627e4ded36faae3.tar.bz2
yuzu-b06d6e36468c10864fefc33a4627e4ded36faae3.tar.lz
yuzu-b06d6e36468c10864fefc33a4627e4ded36faae3.tar.xz
yuzu-b06d6e36468c10864fefc33a4627e4ded36faae3.tar.zst
yuzu-b06d6e36468c10864fefc33a4627e4ded36faae3.zip
Diffstat (limited to 'src/core/file_sys')
-rw-r--r--src/core/file_sys/vfs_real.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/file_sys/vfs_real.cpp b/src/core/file_sys/vfs_real.cpp
index 488687ba9..3b70f7755 100644
--- a/src/core/file_sys/vfs_real.cpp
+++ b/src/core/file_sys/vfs_real.cpp
@@ -94,9 +94,13 @@ VirtualFile RealVfsFilesystem::OpenFile(std::string_view path_, Mode perms) {
VirtualFile RealVfsFilesystem::CreateFile(std::string_view path_, Mode perms) {
const auto path = FS::SanitizePath(path_, FS::DirectorySeparator::PlatformDefault);
- const auto path_fwd = FS::SanitizePath(path, FS::DirectorySeparator::ForwardSlash);
+ const auto parent_path = FS::GetParentPath(path);
+
if (!FS::Exists(path)) {
- FS::CreateFullPath(path_fwd);
+ if (!FS::CreateDirs(parent_path)) {
+ return nullptr;
+ }
+
if (!FS::CreateEmptyFile(path)) {
return nullptr;
}