summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGravatar liamwhite2024-02-03 11:10:24 -0500
committerGravatar GitHub2024-02-03 11:10:24 -0500
commit81cc4df1f9a511d86b52acbb4e3df2f5e36f83f8 (patch)
tree09c5d5a938c235529e9debcd9a218e5a419282e8 /src/core
parentMerge pull request #12877 from german77/npad-fixed (diff)
parentservice: fs: Skip non user id folders (diff)
downloadyuzu-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.cpp9
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()) {