diff options
Diffstat (limited to 'wsutil')
-rw-r--r-- | wsutil/unicode-utils.h | 11 |
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__ */ |