Use Common::ToLower and Common::ToUpper

This commit is contained in:
Pokechu22
2022-01-16 16:38:11 -08:00
parent aaec64501a
commit 6e5f4125e3
16 changed files with 29 additions and 47 deletions

View File

@ -1132,8 +1132,10 @@ void DirectoryBlobPartition::WriteDirectory(std::vector<FSTBuilderNode>* parent_
// Sort for determinism
std::sort(sorted_entries.begin(), sorted_entries.end(),
[](const FSTBuilderNode& one, const FSTBuilderNode& two) {
const std::string one_upper = ASCIIToUppercase(one.m_filename);
const std::string two_upper = ASCIIToUppercase(two.m_filename);
std::string one_upper = one.m_filename;
std::string two_upper = two.m_filename;
Common::ToUpper(&one_upper);
Common::ToUpper(&two_upper);
return one_upper == two_upper ? one.m_filename < two.m_filename :
one_upper < two_upper;
});
@ -1199,12 +1201,4 @@ static void Write32(u32 data, u32 offset, std::vector<u8>* buffer)
(*buffer)[offset++] = (data >> 8) & 0xff;
(*buffer)[offset] = data & 0xff;
}
static std::string ASCIIToUppercase(std::string str)
{
std::transform(str.begin(), str.end(), str.begin(),
[](char c) { return std::toupper(c, std::locale::classic()); });
return str;
}
} // namespace DiscIO

View File

@ -146,13 +146,9 @@ bool FileInfoGCWii::NameCaseInsensitiveEquals(std::string_view other) const
// other is in UTF-8 and this is in Shift-JIS, so we convert so that we can compare correctly
const std::string this_utf8 = SHIFTJISToUTF8(this_ptr);
return std::equal(this_utf8.cbegin(), this_utf8.cend(), other.cbegin() + i, other.cend(),
[](char a, char b) {
return std::tolower(a, std::locale::classic()) ==
std::tolower(b, std::locale::classic());
});
[](char a, char b) { return Common::ToLower(a) == Common::ToLower(b); });
}
else if (std::tolower(*this_ptr, std::locale::classic()) !=
std::tolower(*other_ptr, std::locale::classic()))
else if (Common::ToLower(*this_ptr) != Common::ToLower(*other_ptr))
{
return false;
}

View File

@ -4,7 +4,6 @@
#include "DiscIO/RiivolutionPatcher.h"
#include <algorithm>
#include <cctype>
#include <locale>
#include <string>
#include <string_view>
@ -324,9 +323,8 @@ 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 std::tolower(ca, std::locale::classic()) == std::tolower(cb, std::locale::classic());
});
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,