From c47167da2f6443479e5c44ab31d2974252abdfd8 Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Mon, 23 Oct 2017 15:03:30 +0300 Subject: [PATCH] unichar: Use surrogate macros in ucs4 validity check --- src/lib/unichar.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/unichar.h b/src/lib/unichar.h index 67c95a688a..f32d7c59ab 100644 --- a/src/lib/unichar.h +++ b/src/lib/unichar.h @@ -49,8 +49,9 @@ extern const uint8_t *const uni_utf8_non1_bytes; static inline bool ATTR_PURE uni_is_valid_ucs4(unichar_t chr) { - return (chr & 0xfff800) != UTF16_SURROGATE_HIGH_FIRST && - chr <= UNICHAR_T_MAX; + return (!UTF16_VALID_HIGH_SURROGATE(chr) && + !UTF16_VALID_LOW_SURROGATE(chr) && + chr <= UNICHAR_T_MAX); }; /* Returns number of characters in a NUL-terminated unicode string */ -- 2.47.3