diff options
| author | bunnei <bunneidev@gmail.com> | 2020-07-18 00:59:26 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-18 00:59:26 -0400 | 
| commit | c700079e0815055df43bf0a337e9c562fb76d205 (patch) | |
| tree | 03065d2091f44a6b55838d9b10e9d1904f64c941 /src/core/hle | |
| parent | 90cbcaa44a3901a832556258b5b97d8d7de34ca9 (diff) | |
| parent | 5892fc1555d45a7e6382a07252d232019dd5978d (diff) | |
Merge pull request #4345 from Morph1984/fix-createfile
filesystem: Create subdirectories prior to creating a file
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/service/filesystem/filesystem.cpp | 4 | 
1 files changed, 4 insertions, 0 deletions
| diff --git a/src/core/hle/service/filesystem/filesystem.cpp b/src/core/hle/service/filesystem/filesystem.cpp index cadc03805..c66124998 100644 --- a/src/core/hle/service/filesystem/filesystem.cpp +++ b/src/core/hle/service/filesystem/filesystem.cpp @@ -55,6 +55,10 @@ std::string VfsDirectoryServiceWrapper::GetName() const {  ResultCode VfsDirectoryServiceWrapper::CreateFile(const std::string& path_, u64 size) const {      std::string path(FileUtil::SanitizePath(path_));      auto dir = GetDirectoryRelativeWrapped(backing, FileUtil::GetParentPath(path)); +    // dir can be nullptr if path contains subdirectories, create those prior to creating the file. +    if (dir == nullptr) { +        dir = backing->CreateSubdirectory(FileUtil::GetParentPath(path)); +    }      auto file = dir->CreateFile(FileUtil::GetFilename(path));      if (file == nullptr) {          // TODO(DarkLordZach): Find a better error code for this | 
