diff options
| author | bunnei <bunneidev@gmail.com> | 2021-05-02 15:12:07 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-02 15:12:07 -0700 |
| commit | c17a59b58e4c78dfee976dabddd13c3c6fdf95b7 (patch) | |
| tree | 7a935c140bd467ca9e5e3ca27547ee6fee14861f /src/core/file_sys/fsmitm_romfsbuild.cpp | |
| parent | 0d2d0844a5b4b189c13f326466b2b2ab94676cd4 (diff) | |
| parent | 1da72c7792e4f68fd44579a713288f6772c193b4 (diff) | |
Merge pull request #6269 from lioncash/file-shadow
file_sys: Resolve cases of variable shadowing
Diffstat (limited to 'src/core/file_sys/fsmitm_romfsbuild.cpp')
| -rw-r--r-- | src/core/file_sys/fsmitm_romfsbuild.cpp | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/core/file_sys/fsmitm_romfsbuild.cpp b/src/core/file_sys/fsmitm_romfsbuild.cpp index c52fafb6f..1ca1d536f 100644 --- a/src/core/file_sys/fsmitm_romfsbuild.cpp +++ b/src/core/file_sys/fsmitm_romfsbuild.cpp @@ -126,16 +126,17 @@ static u64 romfs_get_hash_table_count(u64 num_entries) { return count; } -void RomFSBuildContext::VisitDirectory(VirtualDir root_romfs, VirtualDir ext, +void RomFSBuildContext::VisitDirectory(VirtualDir root_romfs, VirtualDir ext_dir, std::shared_ptr<RomFSBuildDirectoryContext> parent) { std::vector<std::shared_ptr<RomFSBuildDirectoryContext>> child_dirs; VirtualDir dir; - if (parent->path_len == 0) + if (parent->path_len == 0) { dir = root_romfs; - else + } else { dir = root_romfs->GetDirectoryRelative(parent->path); + } const auto entries = dir->GetEntries(); @@ -147,8 +148,9 @@ void RomFSBuildContext::VisitDirectory(VirtualDir root_romfs, VirtualDir ext, child->path_len = child->cur_path_ofs + static_cast<u32>(kv.first.size()); child->path = parent->path + "/" + kv.first; - if (ext != nullptr && ext->GetFileRelative(child->path + ".stub") != nullptr) + if (ext_dir != nullptr && ext_dir->GetFileRelative(child->path + ".stub") != nullptr) { continue; + } // Sanity check on path_len ASSERT(child->path_len < FS_MAX_PATH); @@ -163,21 +165,20 @@ void RomFSBuildContext::VisitDirectory(VirtualDir root_romfs, VirtualDir ext, child->path_len = child->cur_path_ofs + static_cast<u32>(kv.first.size()); child->path = parent->path + "/" + kv.first; - if (ext != nullptr && ext->GetFileRelative(child->path + ".stub") != nullptr) + if (ext_dir != nullptr && ext_dir->GetFileRelative(child->path + ".stub") != nullptr) { continue; + } // Sanity check on path_len ASSERT(child->path_len < FS_MAX_PATH); child->source = root_romfs->GetFileRelative(child->path); - if (ext != nullptr) { - const auto ips = ext->GetFileRelative(child->path + ".ips"); - - if (ips != nullptr) { - auto patched = PatchIPS(child->source, ips); - if (patched != nullptr) + if (ext_dir != nullptr) { + if (const auto ips = ext_dir->GetFileRelative(child->path + ".ips")) { + if (auto patched = PatchIPS(child->source, ips)) { child->source = std::move(patched); + } } } @@ -188,7 +189,7 @@ void RomFSBuildContext::VisitDirectory(VirtualDir root_romfs, VirtualDir ext, } for (auto& child : child_dirs) { - this->VisitDirectory(root_romfs, ext, child); + this->VisitDirectory(root_romfs, ext_dir, child); } } |
