From: Aki Tuomi Date: Mon, 23 Oct 2017 12:03:30 +0000 (+0300) Subject: unichar: Use surrogate macros in ucs4 validity check X-Git-Tag: 2.3.0.rc1~785 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c47167da2f6443479e5c44ab31d2974252abdfd8;p=thirdparty%2Fdovecot%2Fcore.git unichar: Use surrogate macros in ucs4 validity check --- 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 */