summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Liam2023-08-16 12:25:36 -0400
committerGravatar Liam2023-08-16 16:30:41 -0400
commit775bf8e215c8c771b45f383b0b2ce46fa37ebe95 (patch)
tree010dcb12e55563bf088b9d581dd14e142a856809
parentfssystem: rework for yuzu style (diff)
downloadyuzu-775bf8e215c8c771b45f383b0b2ce46fa37ebe95.tar.gz
yuzu-775bf8e215c8c771b45f383b0b2ce46fa37ebe95.tar.xz
yuzu-775bf8e215c8c771b45f383b0b2ce46fa37ebe95.zip
file_sys: tolerate empty NCA
Diffstat (limited to '')
-rw-r--r--src/core/file_sys/card_image.cpp2
-rw-r--r--src/core/file_sys/registered_cache.cpp2
-rw-r--r--src/core/file_sys/submission_package.cpp2
3 files changed, 3 insertions, 3 deletions
diff --git a/src/core/file_sys/card_image.cpp b/src/core/file_sys/card_image.cpp
index 4920905a6..3b2588c84 100644
--- a/src/core/file_sys/card_image.cpp
+++ b/src/core/file_sys/card_image.cpp
@@ -185,7 +185,7 @@ u32 XCI::GetSystemUpdateVersion() {
185 for (const auto& update_file : update->GetFiles()) { 185 for (const auto& update_file : update->GetFiles()) {
186 NCA nca{update_file}; 186 NCA nca{update_file};
187 187
188 if (nca.GetStatus() != Loader::ResultStatus::Success) { 188 if (nca.GetStatus() != Loader::ResultStatus::Success || nca.GetSubdirectories().empty()) {
189 continue; 189 continue;
190 } 190 }
191 191
diff --git a/src/core/file_sys/registered_cache.cpp b/src/core/file_sys/registered_cache.cpp
index e4218523a..a28af3594 100644
--- a/src/core/file_sys/registered_cache.cpp
+++ b/src/core/file_sys/registered_cache.cpp
@@ -418,7 +418,7 @@ void RegisteredCache::ProcessFiles(const std::vector<NcaID>& ids) {
418 continue; 418 continue;
419 const auto nca = std::make_shared<NCA>(parser(file, id)); 419 const auto nca = std::make_shared<NCA>(parser(file, id));
420 if (nca->GetStatus() != Loader::ResultStatus::Success || 420 if (nca->GetStatus() != Loader::ResultStatus::Success ||
421 nca->GetType() != NCAContentType::Meta) { 421 nca->GetType() != NCAContentType::Meta || nca->GetSubdirectories().empty()) {
422 continue; 422 continue;
423 } 423 }
424 424
diff --git a/src/core/file_sys/submission_package.cpp b/src/core/file_sys/submission_package.cpp
index 73582ad50..e1e89ce2d 100644
--- a/src/core/file_sys/submission_package.cpp
+++ b/src/core/file_sys/submission_package.cpp
@@ -249,7 +249,7 @@ void NSP::ReadNCAs(const std::vector<VirtualFile>& files) {
249 } 249 }
250 250
251 const auto nca = std::make_shared<NCA>(outer_file); 251 const auto nca = std::make_shared<NCA>(outer_file);
252 if (nca->GetStatus() != Loader::ResultStatus::Success) { 252 if (nca->GetStatus() != Loader::ResultStatus::Success || nca->GetSubdirectories().empty()) {
253 program_status[nca->GetTitleId()] = nca->GetStatus(); 253 program_status[nca->GetTitleId()] = nca->GetStatus();
254 continue; 254 continue;
255 } 255 }