diff options
author | Ryan Harrison <rharrison@chromium.org> | 2018-03-12 15:20:04 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-03-12 15:20:04 +0000 |
commit | 15c0fccfeff5bf389b494a828c89adb3207c73d6 (patch) | |
tree | 3b1f4691759b4e4e45d49a2d48f4548ad16a224c /core/fxcrt | |
parent | c2df008640f56631735dd3ae89e118c9c56cd36d (diff) | |
download | pdfium-15c0fccfeff5bf389b494a828c89adb3207c73d6.tar.xz |
Remove all usages of FXSYS_iswASCIIalnum
Instances are either replaced with FXSYS_iswalnum, which calls out to
the ICU library to do the proper Unicode operations, or have been
converted to a isascii && isalnum pair, if ASCII alnum is actually
what was wanted.
BUG=pdfium:1035
Change-Id: I959ec8739a4d020e61562180393ab8113a81577c
Reviewed-on: https://pdfium-review.googlesource.com/28430
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Diffstat (limited to 'core/fxcrt')
-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 |
3 files changed, 8 insertions, 4 deletions
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) { |