Merge pull request #1838 from lioncash/dedup
file_sys/registered_cache: Eliminate variable shadowing
This commit is contained in:
commit
e5dd4cb392
1 changed files with 33 additions and 34 deletions
|
@ -107,42 +107,41 @@ static ContentRecordType GetCRTypeFromNCAType(NCAContentType type) {
|
||||||
VirtualFile RegisteredCache::OpenFileOrDirectoryConcat(const VirtualDir& dir,
|
VirtualFile RegisteredCache::OpenFileOrDirectoryConcat(const VirtualDir& dir,
|
||||||
std::string_view path) const {
|
std::string_view path) const {
|
||||||
const auto file = dir->GetFileRelative(path);
|
const auto file = dir->GetFileRelative(path);
|
||||||
if (file != nullptr)
|
if (file != nullptr) {
|
||||||
return file;
|
|
||||||
|
|
||||||
const auto nca_dir = dir->GetDirectoryRelative(path);
|
|
||||||
if (nca_dir != nullptr) {
|
|
||||||
const auto nca_dir = dir->GetDirectoryRelative(path);
|
|
||||||
VirtualFile file = nullptr;
|
|
||||||
|
|
||||||
const auto files = nca_dir->GetFiles();
|
|
||||||
if (files.size() == 1 && files[0]->GetName() == "00") {
|
|
||||||
file = files[0];
|
|
||||||
} else {
|
|
||||||
std::vector<VirtualFile> concat;
|
|
||||||
// Since the files are a two-digit hex number, max is FF.
|
|
||||||
for (std::size_t i = 0; i < 0x100; ++i) {
|
|
||||||
auto next = nca_dir->GetFile(fmt::format("{:02X}", i));
|
|
||||||
if (next != nullptr) {
|
|
||||||
concat.push_back(std::move(next));
|
|
||||||
} else {
|
|
||||||
next = nca_dir->GetFile(fmt::format("{:02x}", i));
|
|
||||||
if (next != nullptr)
|
|
||||||
concat.push_back(std::move(next));
|
|
||||||
else
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (concat.empty())
|
|
||||||
return nullptr;
|
|
||||||
|
|
||||||
file = ConcatenatedVfsFile::MakeConcatenatedFile(concat, concat.front()->GetName());
|
|
||||||
}
|
|
||||||
|
|
||||||
return file;
|
return file;
|
||||||
}
|
}
|
||||||
return nullptr;
|
|
||||||
|
const auto nca_dir = dir->GetDirectoryRelative(path);
|
||||||
|
if (nca_dir == nullptr) {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
const auto files = nca_dir->GetFiles();
|
||||||
|
if (files.size() == 1 && files[0]->GetName() == "00") {
|
||||||
|
return files[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<VirtualFile> concat;
|
||||||
|
// Since the files are a two-digit hex number, max is FF.
|
||||||
|
for (std::size_t i = 0; i < 0x100; ++i) {
|
||||||
|
auto next = nca_dir->GetFile(fmt::format("{:02X}", i));
|
||||||
|
if (next != nullptr) {
|
||||||
|
concat.push_back(std::move(next));
|
||||||
|
} else {
|
||||||
|
next = nca_dir->GetFile(fmt::format("{:02x}", i));
|
||||||
|
if (next != nullptr) {
|
||||||
|
concat.push_back(std::move(next));
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (concat.empty()) {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ConcatenatedVfsFile::MakeConcatenatedFile(concat, concat.front()->GetName());
|
||||||
}
|
}
|
||||||
|
|
||||||
VirtualFile RegisteredCache::GetFileAtID(NcaID id) const {
|
VirtualFile RegisteredCache::GetFileAtID(NcaID id) const {
|
||||||
|
|
Loading…
Reference in a new issue