From 4783ad54de0d7f1add443914e304fe08409568ff Mon Sep 17 00:00:00 2001 From: Lioncash Date: Tue, 16 Oct 2018 12:08:15 -0400 Subject: content_archive: Pass and take NCASectionHeader instance by reference Each header is 512 bytes in size, which is kind of an excessive amount to copy all the time when it's possible to avoid doing so. --- src/core/file_sys/content_archive.cpp | 4 ++-- src/core/file_sys/content_archive.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/core/file_sys') diff --git a/src/core/file_sys/content_archive.cpp b/src/core/file_sys/content_archive.cpp index 6dcec7816..0872a378b 100644 --- a/src/core/file_sys/content_archive.cpp +++ b/src/core/file_sys/content_archive.cpp @@ -167,7 +167,7 @@ boost::optional NCA::GetTitlekey() { return titlekey; } -VirtualFile NCA::Decrypt(NCASectionHeader s_header, VirtualFile in, u64 starting_offset) { +VirtualFile NCA::Decrypt(const NCASectionHeader& s_header, VirtualFile in, u64 starting_offset) { if (!encrypted) return in; @@ -295,7 +295,7 @@ NCA::NCA(VirtualFile file_, VirtualFile bktr_base_romfs_, u64 bktr_base_ivfc_off ivfc_offset = 0; for (std::ptrdiff_t i = 0; i < number_sections; ++i) { - auto section = sections[i]; + const auto& section = sections[i]; if (section.raw.header.filesystem_type == NCASectionFilesystemType::ROMFS) { const std::size_t base_offset = diff --git a/src/core/file_sys/content_archive.h b/src/core/file_sys/content_archive.h index f9f66cae9..d02ea4f4b 100644 --- a/src/core/file_sys/content_archive.h +++ b/src/core/file_sys/content_archive.h @@ -109,7 +109,7 @@ private: u8 GetCryptoRevision() const; boost::optional GetKeyAreaKey(NCASectionCryptoType type) const; boost::optional GetTitlekey(); - VirtualFile Decrypt(NCASectionHeader header, VirtualFile in, u64 starting_offset); + VirtualFile Decrypt(const NCASectionHeader& header, VirtualFile in, u64 starting_offset); std::vector dirs; std::vector files; -- cgit v1.2.3