summaryrefslogtreecommitdiff
path: root/utf8.h
diff options
context:
space:
mode:
Diffstat (limited to 'utf8.h')
-rw-r--r--utf8.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/utf8.h b/utf8.h
index 1d172cd626..bd2526ba5d 100644
--- a/utf8.h
+++ b/utf8.h
@@ -917,7 +917,10 @@ representation.
*/
#define UNICODE_REPLACEMENT 0xFFFD
#define UNICODE_IS_REPLACEMENT(uv) UNLIKELY((UV) (uv) == UNICODE_REPLACEMENT)
-#define UTF8_IS_REPLACEMENT(s, send) is_REPLACEMENT_utf8_safe(s,send)
+#define UTF8_IS_REPLACEMENT(s, send) \
+ UNLIKELY( ((send) - (s)) >= (sizeof(REPLACEMENT_CHARACTER_UTF8) - 1) \
+ && memEQ((s), REPLACEMENT_CHARACTER_UTF8, \
+ sizeof(REPLACEMENT_CHARACTER_UTF8) - 1))
/* Max legal code point according to Unicode */
#define PERL_UNICODE_MAX 0x10FFFF