diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/fpdftext/cpdf_linkextract.cpp | 4 | ||||
-rw-r--r-- | core/fpdftext/cpdf_textpage.cpp | 2 | ||||
-rw-r--r-- | core/fxcrt/DEPS | 3 | ||||
-rw-r--r-- | core/fxcrt/css/cfx_cssselector.cpp | 4 | ||||
-rw-r--r-- | core/fxcrt/fx_extension.h | 5 |
5 files changed, 11 insertions, 7 deletions
diff --git a/core/fpdftext/cpdf_linkextract.cpp b/core/fpdftext/cpdf_linkextract.cpp index f8144a171b..c3cf4fc1ef 100644 --- a/core/fpdftext/cpdf_linkextract.cpp +++ b/core/fpdftext/cpdf_linkextract.cpp @@ -246,7 +246,7 @@ bool CPDF_LinkExtract::CheckMailLink(WideString* str) { size_t pPos = aPos.value(); // Used to track the position of '@' or '.'. for (size_t i = aPos.value(); i > 0; i--) { wchar_t ch = (*str)[i - 1]; - if (ch == L'_' || ch == L'-' || FXSYS_iswASCIIalnum(ch)) + if (ch == L'_' || ch == L'-' || FXSYS_iswalnum(ch)) continue; if (ch != L'.' || i == pPos || i == 1) { @@ -282,7 +282,7 @@ bool CPDF_LinkExtract::CheckMailLink(WideString* str) { pPos = 0; // Used to track the position of '.'. for (size_t i = aPos.value() + 1; i < nLen; i++) { wchar_t wch = (*str)[i]; - if (wch == L'-' || FXSYS_iswASCIIalnum(wch)) + if (wch == L'-' || FXSYS_iswalnum(wch)) continue; if (wch != L'.' || i == pPos + 1) { diff --git a/core/fpdftext/cpdf_textpage.cpp b/core/fpdftext/cpdf_textpage.cpp index 5019eabaf5..7541dae6a7 100644 --- a/core/fpdftext/cpdf_textpage.cpp +++ b/core/fpdftext/cpdf_textpage.cpp @@ -1210,7 +1210,7 @@ bool CPDF_TextPage::IsHyphen(wchar_t curChar) const { if ((iter + 1) != curText.rend()) { iter++; - if (FXSYS_iswASCIIalpha(*iter) && FXSYS_iswASCIIalnum(curChar)) + if (FXSYS_iswASCIIalpha(*iter) && FXSYS_iswalnum(curChar)) return true; } diff --git a/core/fxcrt/DEPS b/core/fxcrt/DEPS new file mode 100644 index 0000000000..2be03524b6 --- /dev/null +++ b/core/fxcrt/DEPS @@ -0,0 +1,3 @@ +include_rules = [ + '+third_party/icu', +] diff --git a/core/fxcrt/css/cfx_cssselector.cpp b/core/fxcrt/css/cfx_cssselector.cpp index 76cb846890..8a22b12287 100644 --- a/core/fxcrt/css/cfx_cssselector.cpp +++ b/core/fxcrt/css/cfx_cssselector.cpp @@ -16,9 +16,9 @@ namespace { int32_t GetCSSNameLen(const wchar_t* psz, const wchar_t* pEnd) { const wchar_t* pStart = psz; while (psz < pEnd) { - wchar_t wch = *psz; - if (!FXSYS_iswASCIIalnum(wch) && wch != '_' && wch != '-') + if (!isascii(*psz) || (!isalnum(*psz) && *psz != '_' && *psz != '-')) { break; + } ++psz; } return psz - pStart; diff --git a/core/fxcrt/fx_extension.h b/core/fxcrt/fx_extension.h index 491d4b29b7..bd0ac8b303 100644 --- a/core/fxcrt/fx_extension.h +++ b/core/fxcrt/fx_extension.h @@ -12,6 +12,7 @@ #include <memory> #include "core/fxcrt/fx_string.h" +#include "third_party/icu/source/common/unicode/uchar.h" #define FX_INVALID_OFFSET static_cast<uint32_t>(-1) @@ -45,8 +46,8 @@ inline bool FXSYS_iswASCIIalpha(wchar_t wch) { return FXSYS_isASCIIupper(wch) || FXSYS_isASCIIlower(wch); } -inline bool FXSYS_iswASCIIalnum(wchar_t wch) { - return FXSYS_iswASCIIalpha(wch) || std::iswdigit(wch); +inline bool FXSYS_iswalnum(wchar_t c) { + return u_isalnum(c); } inline bool FXSYS_iswASCIIspace(wchar_t c) { |