diff options
| author | bunnei <bunneidev@gmail.com> | 2020-08-25 10:07:33 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-25 10:07:33 -0400 | 
| commit | dd828607e0d8c1f25fe024bab77dafa9c9a4d62c (patch) | |
| tree | d09a4074ad088a7083ebc81b55fdb0efd44349a4 | |
| parent | b798813eee1a75973d7ed6489800f7297f47b7dd (diff) | |
| parent | 67a8e73101a98cc6e9be36d12b0ffad21c5a554d (diff) | |
Merge pull request #4563 from lioncash/rcache
registered_cache: Make use of designated initializers
| -rw-r--r-- | src/core/file_sys/registered_cache.cpp | 33 | 
1 files changed, 16 insertions, 17 deletions
| diff --git a/src/core/file_sys/registered_cache.cpp b/src/core/file_sys/registered_cache.cpp index e42b677f7..da01002d5 100644 --- a/src/core/file_sys/registered_cache.cpp +++ b/src/core/file_sys/registered_cache.cpp @@ -257,8 +257,7 @@ std::vector<NcaID> PlaceholderCache::List() const {      for (const auto& sdir : dir->GetSubdirectories()) {          for (const auto& file : sdir->GetFiles()) {              const auto name = file->GetName(); -            if (name.length() == 36 && name[32] == '.' && name[33] == 'n' && name[34] == 'c' && -                name[35] == 'a') { +            if (name.length() == 36 && name.ends_with(".nca")) {                  out.push_back(Common::HexStringToArray<0x10>(name.substr(0, 32)));              }          } @@ -621,25 +620,25 @@ InstallResult RegisteredCache::InstallEntry(const NSP& nsp, bool overwrite_if_ex  InstallResult RegisteredCache::InstallEntry(const NCA& nca, TitleType type,                                              bool overwrite_if_exists, const VfsCopyFunction& copy) { -    CNMTHeader header{ -        nca.GetTitleId(), // Title ID -        0,                // Ignore/Default title version -        type,             // Type -        {},               // Padding -        0x10,             // Default table offset -        1,                // 1 Content Entry -        0,                // No Meta Entries -        {},               // Padding -        {},               // Reserved 1 -        0,                // Is committed -        0,                // Required download system version -        {},               // Reserved 2 +    const CNMTHeader header{ +        .title_id = nca.GetTitleId(), +        .title_version = 0, +        .type = type, +        .reserved = {}, +        .table_offset = 0x10, +        .number_content_entries = 1, +        .number_meta_entries = 0, +        .attributes = 0, +        .reserved2 = {}, +        .is_committed = 0, +        .required_download_system_version = 0, +        .reserved3 = {},      }; -    OptionalHeader opt_header{0, 0}; +    const OptionalHeader opt_header{0, 0};      ContentRecord c_rec{{}, {}, {}, GetCRTypeFromNCAType(nca.GetType()), {}};      const auto& data = nca.GetBaseFile()->ReadBytes(0x100000);      mbedtls_sha256_ret(data.data(), data.size(), c_rec.hash.data(), 0); -    memcpy(&c_rec.nca_id, &c_rec.hash, 16); +    std::memcpy(&c_rec.nca_id, &c_rec.hash, 16);      const CNMT new_cnmt(header, opt_header, {c_rec}, {});      if (!RawInstallYuzuMeta(new_cnmt)) {          return InstallResult::ErrorMetaFailed; | 
