Comment on comment.
[p5sagit/p5-mst-13.2.git] / utf8.h
diff --git a/utf8.h b/utf8.h
index bb494ab..25ddc14 100644 (file)
--- a/utf8.h
+++ b/utf8.h
@@ -29,23 +29,38 @@ END_EXTERN_C
 
 #define UTF8_MAXLEN 13 /* how wide can a single UTF8 encoded character become */
 
-#define IN_UTF8 (PL_curcop->op_private & HINT_UTF8)
+/* #define IN_UTF8 (PL_curcop->op_private & HINT_UTF8) */
 #define IN_BYTE (PL_curcop->op_private & HINT_BYTE)
 #define DO_UTF8(sv) (SvUTF8(sv) && !IN_BYTE)
 
+#define UTF8_ALLOW_CONTINUATION                0x0001
+#define UTF8_ALLOW_NON_CONTINUATION    0x0002
+#define UTF8_ALLOW_FE_FF               0x0004
+#define UTF8_ALLOW_SHORT               0x0008
+#define UTF8_ALLOW_SURROGATE           0x0010
+#define UTF8_ALLOW_BOM                 0x0020
+#define UTF8_ALLOW_FFFF                        0x0040
+#define UTF8_ALLOW_LONG                        0x0080
+#define UTF8_ALLOW_ANYUV               (UTF8_ALLOW_FE_FF|UTF8_ALLOW_FFFF \
+                                       |UTF8_ALLOW_BOM|UTF8_ALLOW_SURROGATE)
+#define UTF8_ALLOW_ANY                 0x00ff
+#define UTF8_CHECK_ONLY                        0x0100
+
 #define UTF8SKIP(s) PL_utf8skip[*(U8*)s]
 
+#define UTF8_QUAD_MAX  UINT64_C(0x1000000000)
+
 #ifdef HAS_QUAD
-#define UTF8LEN(uv) ( (uv) < 0x80           ? 1 : \
+#define UNISKIP(uv) ( (uv) < 0x80           ? 1 : \
                      (uv) < 0x800          ? 2 : \
                      (uv) < 0x10000        ? 3 : \
                      (uv) < 0x200000       ? 4 : \
                      (uv) < 0x4000000      ? 5 : \
                      (uv) < 0x80000000     ? 6 : \
-                      (uv) < 0x1000000000LL ? 7 : 13 ) 
+                      (uv) < UTF8_QUAD_MAX ? 7 : 13 ) 
 #else
 /* No, I'm not even going to *TRY* putting #ifdef inside a #define */
-#define UTF8LEN(uv) ( (uv) < 0x80           ? 1 : \
+#define UNISKIP(uv) ( (uv) < 0x80           ? 1 : \
                      (uv) < 0x800          ? 2 : \
                      (uv) < 0x10000        ? 3 : \
                      (uv) < 0x200000       ? 4 : \