summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBakugo <bakugo@b4k.co>2019-07-01 06:37:22 +0100
committerBakugo <bakugo@b4k.co>2019-07-01 06:37:22 +0100
commit79163fca80385b11c72dab286041c16e59cd1dd8 (patch)
tree773f55fba35363f15e23a101e1b540207c186315 /src
parent306a24aad77b9e359b858676a9549cb70f35bf22 (diff)
file_sys/registered_cache: Ignore DeltaFragment NCAs during installation
DeltaFragments are only used to download and apply partial patches on a real console, and are not useful to us at all. Most patch NSPs do not include them, and when they do, it's a waste of space to install them.
Diffstat (limited to 'src')
-rw-r--r--src/core/file_sys/registered_cache.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core/file_sys/registered_cache.cpp b/src/core/file_sys/registered_cache.cpp
index 4608490e0..46f9314d0 100644
--- a/src/core/file_sys/registered_cache.cpp
+++ b/src/core/file_sys/registered_cache.cpp
@@ -415,6 +415,9 @@ InstallResult RegisteredCache::InstallEntry(const NSP& nsp, bool overwrite_if_ex
const auto cnmt_file = section0->GetFiles()[0];
const CNMT cnmt(cnmt_file);
for (const auto& record : cnmt.GetContentRecords()) {
+ // Ignore DeltaFragments, they are not useful to us
+ if (record.type == ContentRecordType::DeltaFragment)
+ continue;
const auto nca = GetNCAFromNSPForID(nsp, record.nca_id);
if (nca == nullptr)
return InstallResult::ErrorCopyFailed;