diff options
| author | 2024-02-03 11:10:24 -0500 | |
|---|---|---|
| committer | 2024-02-03 11:10:24 -0500 | |
| commit | 81cc4df1f9a511d86b52acbb4e3df2f5e36f83f8 (patch) | |
| tree | 09c5d5a938c235529e9debcd9a218e5a419282e8 /src/core | |
| parent | Merge pull request #12877 from german77/npad-fixed (diff) | |
| parent | service: fs: Skip non user id folders (diff) | |
| download | yuzu-81cc4df1f9a511d86b52acbb4e3df2f5e36f83f8.tar.gz yuzu-81cc4df1f9a511d86b52acbb4e3df2f5e36f83f8.tar.xz yuzu-81cc4df1f9a511d86b52acbb4e3df2f5e36f83f8.zip | |
Merge pull request #12895 from german77/files
service: fs: Skip non user id folders
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/hle/service/filesystem/fsp/fsp_srv.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/core/hle/service/filesystem/fsp/fsp_srv.cpp b/src/core/hle/service/filesystem/fsp/fsp_srv.cpp index 5fe534c73..63c2d3a58 100644 --- a/src/core/hle/service/filesystem/fsp/fsp_srv.cpp +++ b/src/core/hle/service/filesystem/fsp/fsp_srv.cpp | |||
| @@ -115,6 +115,11 @@ private: | |||
| 115 | if (type->GetName() == "save") { | 115 | if (type->GetName() == "save") { |
| 116 | for (const auto& save_id : type->GetSubdirectories()) { | 116 | for (const auto& save_id : type->GetSubdirectories()) { |
| 117 | for (const auto& user_id : save_id->GetSubdirectories()) { | 117 | for (const auto& user_id : save_id->GetSubdirectories()) { |
| 118 | // Skip non user id subdirectories | ||
| 119 | if (user_id->GetName().size() != 0x20) { | ||
| 120 | continue; | ||
| 121 | } | ||
| 122 | |||
| 118 | const auto save_id_numeric = stoull_be(save_id->GetName()); | 123 | const auto save_id_numeric = stoull_be(save_id->GetName()); |
| 119 | auto user_id_numeric = Common::HexStringToArray<0x10>(user_id->GetName()); | 124 | auto user_id_numeric = Common::HexStringToArray<0x10>(user_id->GetName()); |
| 120 | std::reverse(user_id_numeric.begin(), user_id_numeric.end()); | 125 | std::reverse(user_id_numeric.begin(), user_id_numeric.end()); |
| @@ -160,6 +165,10 @@ private: | |||
| 160 | } else if (space == FileSys::SaveDataSpaceId::TemporaryStorage) { | 165 | } else if (space == FileSys::SaveDataSpaceId::TemporaryStorage) { |
| 161 | // Temporary Storage | 166 | // Temporary Storage |
| 162 | for (const auto& user_id : type->GetSubdirectories()) { | 167 | for (const auto& user_id : type->GetSubdirectories()) { |
| 168 | // Skip non user id subdirectories | ||
| 169 | if (user_id->GetName().size() != 0x20) { | ||
| 170 | continue; | ||
| 171 | } | ||
| 163 | for (const auto& title_id : user_id->GetSubdirectories()) { | 172 | for (const auto& title_id : user_id->GetSubdirectories()) { |
| 164 | if (!title_id->GetFiles().empty() || | 173 | if (!title_id->GetFiles().empty() || |
| 165 | !title_id->GetSubdirectories().empty()) { | 174 | !title_id->GetSubdirectories().empty()) { |