aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-json.c
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 /epan/dissectors/packet-json.c
parentadb28bd812497c3bf663d9202854d703bc7f2bfe (diff)
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 'epan/dissectors/packet-json.c')
-rw-r--r--epan/dissectors/packet-json.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/epan/dissectors/packet-json.c b/epan/dissectors/packet-json.c
index a4a8e72fce..dc339b5e61 100644
--- a/epan/dissectors/packet-json.c
+++ b/epan/dissectors/packet-json.c
@@ -37,6 +37,8 @@
#include <epan/packet.h>
#include <epan/tvbparse.h>
+#include <wsutil/unicode-utils.h>
+
void proto_register_json(void);
void proto_reg_handoff_json(void);
@@ -247,20 +249,6 @@ static void after_array(void *tvbparse_data, const void *wanted_data _U_, tvbpar
wmem_stack_pop(data->stack);
}
-/*
- * defines for helping with UTF-16 surrogate pairs
- */
-
-#define LEAD_SURROGATE_START 0xd800
-#define LEAD_SURROGATE_END 0xdbff
-#define TRAIL_SURROGATE_START 0xdc00
-#define TRAIL_SURROGATE_END 0xdfff
-
-#define IS_LEAD_SURROGATE(l) (((l)>=LEAD_SURROGATE_START)&&((l)<=LEAD_SURROGATE_END))
-#define IS_TRAIL_SURROGATE(t) (((t)>=TRAIL_SURROGATE_START)&&((t)<=TRAIL_SURROGATE_END))
-
-#define GET_UNICHAR_FROM_SURROGATES(l,t) (0x10000+(((l-LEAD_SURROGATE_START)<<10)|(t-TRAIL_SURROGATE_START)))
-
static char *json_string_unescape(tvbparse_elem_t *tok)
{
char *str = (char *)wmem_alloc(wmem_packet_scope(), tok->len - 1);
@@ -350,7 +338,7 @@ static char *json_string_unescape(tvbparse_elem_t *tok)
}
if ((IS_TRAIL_SURROGATE(trail_surrogate))) {
- unicode_hex = GET_UNICHAR_FROM_SURROGATES(lead_surrogate,trail_surrogate);
+ unicode_hex = SURROGATE_VALUE(lead_surrogate,trail_surrogate);
} else {
valid = FALSE;
}