Remove all usages of FXSYS_iswASCIIalpha
Instances are either replaced with FXSYS_iswalpha, which calls out to
the ICU library to do the proper Unicode operations, or have been
converted to a isascii && isalpha pair, if ASCII alpha is actually
what was wanted.
BUG=pdfium:1035
Change-Id: I971ff639ee1ff818ad08793a1900a8bcbb0a3e04
Reviewed-on: https://pdfium-review.googlesource.com/28450
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
diff --git a/core/fxcrt/css/cfx_cssselector.cpp b/core/fxcrt/css/cfx_cssselector.cpp
index 8a22b12..510114f 100644
--- a/core/fxcrt/css/cfx_cssselector.cpp
+++ b/core/fxcrt/css/cfx_cssselector.cpp
@@ -67,7 +67,7 @@
std::unique_ptr<CFX_CSSSelector> pFirst = nullptr;
for (psz = pStart; psz < pEnd;) {
wchar_t wch = *psz;
- if (FXSYS_iswASCIIalpha(wch) || wch == '*') {
+ if ((isascii(wch) && isalpha(wch)) || wch == '*') {
int32_t iNameLen = wch == '*' ? 1 : GetCSSNameLen(psz, pEnd);
auto p = pdfium::MakeUnique<CFX_CSSSelector>(CFX_CSSSelectorType::Element,
psz, iNameLen, true);
diff --git a/core/fxcrt/css/cfx_csssyntaxparser.cpp b/core/fxcrt/css/cfx_csssyntaxparser.cpp
index fea951f..97586dc 100644
--- a/core/fxcrt/css/cfx_csssyntaxparser.cpp
+++ b/core/fxcrt/css/cfx_csssyntaxparser.cpp
@@ -18,7 +18,8 @@
namespace {
bool IsSelectorStart(wchar_t wch) {
- return wch == '.' || wch == '#' || wch == '*' || FXSYS_iswASCIIalpha(wch);
+ return wch == '.' || wch == '#' || wch == '*' ||
+ (isascii(wch) && isalpha(wch));
}
} // namespace
diff --git a/core/fxcrt/fx_extension.h b/core/fxcrt/fx_extension.h
index bd0ac8b..fd7b78a 100644
--- a/core/fxcrt/fx_extension.h
+++ b/core/fxcrt/fx_extension.h
@@ -42,8 +42,8 @@
return ch < 'a' || ch > 'z' ? ch : (ch - 0x20);
}
-inline bool FXSYS_iswASCIIalpha(wchar_t wch) {
- return FXSYS_isASCIIupper(wch) || FXSYS_isASCIIlower(wch);
+inline bool FXSYS_iswalpha(wchar_t c) {
+ return u_isalpha(c);
}
inline bool FXSYS_iswalnum(wchar_t c) {