--- parser3/src/lib/json/pa_json.C 2013/07/29 10:06:38 1.2 +++ parser3/src/lib/json/pa_json.C 2013/07/29 14:04:51 1.5 @@ -380,7 +380,7 @@ static int decode_unicode_char(json_pars { uint32_t uval; char *b = parser->buffer; - int offset = parser->buffer_offset; + uint32_t offset = parser->buffer_offset; uval = (hex(b[offset - 4]) << 12) | (hex(b[offset - 3]) << 8) | (hex(b[offset - 2]) << 4) | hex(b[offset - 1]); @@ -409,7 +409,7 @@ static int decode_unicode_char(json_pars if (IS_LOW_SURROGATE(uval)) return JSON_ERROR_UNICODE_UNEXPECTED_LOW_SURROGATE; if (IS_HIGH_SURROGATE(uval)) { - parser->unicode_multi = uval; + parser->unicode_multi = (uint16_t)uval; return 0; } @@ -442,7 +442,7 @@ static int buffer_push_escape(json_parse return buffer_push(parser, c); } -#define CHK(f) ({ ret = f; if (ret) return ret; }) +#define CHK(f) { ret = f; if (ret) return ret; } int act_uc(json_parser *parser) { @@ -559,7 +559,7 @@ static struct action_descr actions_map[] [STATE_SP & ~0x80] = { act_sp, JSON_NONE, 0, 1 }, }; -static int do_action(json_parser *parser, int next_state) +static int do_action(json_parser *parser, uint8_t next_state) { struct action_descr *descr = &actions_map[next_state & ~0x80]; @@ -645,8 +645,8 @@ int json_parser_string(json_parser *pars uint32_t length, uint32_t *processed) { int ret; - int next_class, next_state; - int buffer_policy; + uint8_t next_class, next_state; + uint32_t buffer_policy; uint32_t i; ret = 0;