diff options
| author | Admiral H. Curtiss <pikachu025@gmail.com> | 2022-05-31 02:06:42 +0200 |
|---|---|---|
| committer | Admiral H. Curtiss <pikachu025@gmail.com> | 2023-02-28 00:56:33 +0100 |
| commit | bdb19085c47cdfeb2051020cb5564c6ecd9605c5 (patch) | |
| tree | da397a98ae410fea5d79472cf14d2c54f87babaa /Source/Core/DiscIO/RiivolutionPatcher.cpp | |
| parent | 7586fc8134cee5c0d428b7ca2bf0e6d1cf103cf3 (diff) | |
Common: Add utility function for case-insensitive string comparison.
Diffstat (limited to 'Source/Core/DiscIO/RiivolutionPatcher.cpp')
| -rw-r--r-- | Source/Core/DiscIO/RiivolutionPatcher.cpp | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/Source/Core/DiscIO/RiivolutionPatcher.cpp b/Source/Core/DiscIO/RiivolutionPatcher.cpp index 4b265599d8..f12664710d 100644 --- a/Source/Core/DiscIO/RiivolutionPatcher.cpp +++ b/Source/Core/DiscIO/RiivolutionPatcher.cpp @@ -320,14 +320,6 @@ static void ApplyPatchToFile(const Patch& patch, const File& file_patch, file_patch.m_fileoffset, file_patch.m_length, file_patch.m_resize); } -static bool CaseInsensitiveEquals(std::string_view a, std::string_view b) -{ - if (a.size() != b.size()) - return false; - return std::equal(a.begin(), a.end(), b.begin(), - [](char ca, char cb) { return Common::ToLower(ca) == Common::ToLower(cb); }); -} - static FSTBuilderNode* FindFileNodeInFST(std::string_view path, std::vector<FSTBuilderNode>* fst, bool create_if_not_exists) { @@ -335,7 +327,7 @@ static FSTBuilderNode* FindFileNodeInFST(std::string_view path, std::vector<FSTB const bool is_file = path_separator == std::string_view::npos; const std::string_view name = is_file ? path : path.substr(0, path_separator); const auto it = std::find_if(fst->begin(), fst->end(), [&](const FSTBuilderNode& node) { - return CaseInsensitiveEquals(node.m_filename, name); + return Common::CaseInsensitiveEquals(node.m_filename, name); }); if (it == fst->end()) @@ -377,7 +369,7 @@ static DiscIO::FSTBuilderNode* FindFilenameNodeInFST(std::string_view filename, if (result) return result; } - else if (CaseInsensitiveEquals(node.m_filename, filename)) + else if (Common::CaseInsensitiveEquals(node.m_filename, filename)) { return &node; } @@ -398,7 +390,7 @@ static void ApplyFilePatchToFST(const Patch& patch, const File& file, if (node) ApplyPatchToFile(patch, file, node); } - else if (dol_node && CaseInsensitiveEquals(file.m_disc, "main.dol")) + else if (dol_node && Common::CaseInsensitiveEquals(file.m_disc, "main.dol")) { // Special case: If the filename is "main.dol", we want to patch the main executable. ApplyPatchToFile(patch, file, dol_node); |
