summaryrefslogtreecommitdiff
path: root/wsutil/unicode-utils.h
diff options
context:
space:
mode:
authorJakub Zawadzki <darkjames-ws@darkjames.pl>2014-01-07 21:55:49 +0000
committerJakub Zawadzki <darkjames-ws@darkjames.pl>2014-01-07 21:55:49 +0000
commitd1dcee936b2a0ed257c526889b664e2b314d3eb0 (patch)
tree89cf1c321ddfa9a6bb500fb891e5dc32d6d7f297 /wsutil/unicode-utils.h
parentadb28bd812497c3bf663d9202854d703bc7f2bfe (diff)
downloadwireshark-d1dcee936b2a0ed257c526889b664e2b314d3eb0.tar.gz
Move defines for helping with UTF-16 surrogate pairs to wsutil/unicode-utils.h
tvbuff version was moved, but with 'or' optimization from packet-json. svn path=/trunk/; revision=54632
Diffstat (limited to 'wsutil/unicode-utils.h')
-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__ */