aboutsummaryrefslogtreecommitdiffstats
path: root/wsutil
diff options
context:
space:
mode:
Diffstat (limited to 'wsutil')
-rw-r--r--wsutil/unicode-utils.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/wsutil/unicode-utils.h b/wsutil/unicode-utils.h
index c907eda2de..a9d5318f6b 100644
--- a/wsutil/unicode-utils.h
+++ b/wsutil/unicode-utils.h
@@ -84,4 +84,15 @@ void arg_list_utf_16to8(int argc, char *argv[]);
#endif /* _WIN32 */
+/*
+ * defines for helping with UTF-16 surrogate pairs
+ */
+
+#define IS_LEAD_SURROGATE(uchar2) \
+ ((uchar2) >= 0xd800 && (uchar2) < 0xdc00)
+#define IS_TRAIL_SURROGATE(uchar2) \
+ ((uchar2) >= 0xdc00 && (uchar2) < 0xe000)
+#define SURROGATE_VALUE(lead, trail) \
+ (((((lead) - 0xd800) << 10) | ((trail) - 0xdc00)) + 0x100000)
+
#endif /* __UNICODEUTIL_H__ */