summaryrefslogtreecommitdiff
path: root/utf8.h
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-12-21 00:54:49 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-12-21 00:54:49 +0000
commitb851fbc1add6c3d9fa6158884279133c311a3efc (patch)
tree87e5be7072ad6e52eb1cfd85805e3c7ba034dab6 /utf8.h
parent70b75758f8fb2cc713010bb8bc05cd986151b9b2 (diff)
downloadperl-b851fbc1add6c3d9fa6158884279133c311a3efc.tar.gz
Make using U+FDD0..U+FDEF (noncharacters since Unicode 3.1),
U+...FFFE, U+...FFFF, and characters beyond U+10FFFF (the Unicode maximum code point) warnable offenses. p4raw-id: //depot/perl@13823
Diffstat (limited to 'utf8.h')
-rw-r--r--utf8.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/utf8.h b/utf8.h
index 1c2243e2da..b35cfebb5e 100644
--- a/utf8.h
+++ b/utf8.h
@@ -166,6 +166,17 @@ END_EXTERN_C
#define UNICODE_BYTER_ORDER_MARK 0xfffe
#define UNICODE_ILLEGAL 0xffff
+/* Though our UTF-8 encoding can go beyond this,
+ * let's be conservative. */
+#define PERL_UNICODE_MAX 0x10FFFF
+
+#define UNICODE_ALLOW_SURROGATE 0x0001 /* Allow UTF-16 surrogates (EVIL) */
+#define UNICODE_ALLOW_FDD0 0x0002 /* Allow the U+FDD0...U+FDEF */
+#define UNICODE_ALLOW_FFFE 0x0004 /* Allow 0xFFFE, 0x1FFFE, ... */
+#define UNICODE_ALLOW_FFFF 0x0008 /* Allow 0xFFFE, 0x1FFFE, ... */
+#define UNICODE_ALLOW_SUPER 0x0010 /* Allow past 10xFFFF */
+#define UNICODE_ALLOW_ANY 0xFFFF
+
#define UNICODE_IS_SURROGATE(c) ((c) >= UNICODE_SURROGATE_FIRST && \
(c) <= UNICODE_SURROGATE_LAST)
#define UNICODE_IS_REPLACEMENT(c) ((c) == UNICODE_REPLACEMENT)