--- parser3/src/lib/json/pa_json.C 2013/07/29 11:23:32 1.3 +++ parser3/src/lib/json/pa_json.C 2013/07/29 14:33:57 1.7 @@ -264,7 +264,7 @@ static int state_grow(json_parser *parse ptr = parser_realloc(parser, parser->stack, newsize * sizeof(uint8_t)); if (!ptr) return JSON_ERROR_NO_MEMORY; - parser->stack = (uint8_t*)ptr; + parser->stack = ptr; parser->stack_size = newsize; return 0; } @@ -305,7 +305,7 @@ static int buffer_grow(json_parser *pars ptr = parser_realloc(parser, parser->buffer, newsize * sizeof(char)); if (!ptr) return JSON_ERROR_NO_MEMORY; - parser->buffer = (char *)ptr; + parser->buffer = ptr; parser->buffer_size = newsize; 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) { @@ -538,28 +538,28 @@ struct action_descr }; static struct action_descr actions_map[] = { - [STATE_MX & ~0x80] = { NULL, JSON_INT, STATE_M0, 0 }, - [STATE_ZX & ~0x80] = { NULL, JSON_INT, STATE_Z0, 0 }, - [STATE_IX & ~0x80] = { NULL, JSON_INT, STATE_I0, 0 }, - [STATE_DE & ~0x80] = { NULL, JSON_FLOAT, STATE_X1, 0 }, - [STATE_DF & ~0x80] = { NULL, JSON_FLOAT, STATE_R1, 0 }, - [STATE_NU & ~0x80] = { NULL, JSON_NULL, STATE_OK, 0 }, - [STATE_FA & ~0x80] = { NULL, JSON_FALSE, STATE_OK, 0 }, - [STATE_TR & ~0x80] = { NULL, JSON_TRUE, STATE_OK, 0 }, - [STATE_KS & ~0x80] = { NULL, JSON_NONE, STATE__V, 0 }, - [STATE_UC & ~0x80] = { act_uc, JSON_NONE, 0, 0 }, - [STATE_YB & ~0x80] = { act_yb, JSON_NONE, STATE_Y1, 1 }, - [STATE_CB & ~0x80] = { act_cb, JSON_NONE, STATE_C1, 1 }, - [STATE_CE & ~0x80] = { act_ce, JSON_NONE, 0, 0 }, - [STATE_OB & ~0x80] = { act_ob, JSON_NONE, STATE__O, 0 }, - [STATE_OE & ~0x80] = { act_oe, JSON_NONE, STATE_OK, 1 }, - [STATE_AB & ~0x80] = { act_ab, JSON_NONE, STATE__A, 0 }, - [STATE_AE & ~0x80] = { act_ae, JSON_NONE, STATE_OK, 1 }, - [STATE_SE & ~0x80] = { act_se, JSON_NONE, 0, 0 }, - [STATE_SP & ~0x80] = { act_sp, JSON_NONE, 0, 1 }, + { NULL, JSON_NONE, STATE__V, 0 }, // STATE_KS + { act_sp, JSON_NONE, 0, 1 }, // STATE_SP + { act_ab, JSON_NONE, STATE__A, 0 }, // STATE_AB + { act_ae, JSON_NONE, STATE_OK, 1 }, // STATE_AE + { act_ob, JSON_NONE, STATE__O, 0 }, // STATE_OB + { act_oe, JSON_NONE, STATE_OK, 1 }, // STATE_OE + { act_cb, JSON_NONE, STATE_C1, 1 }, // STATE_CB + { act_yb, JSON_NONE, STATE_Y1, 1 }, // STATE_YB + { act_ce, JSON_NONE, 0, 0 }, // STATE_CE + { NULL, JSON_FALSE, STATE_OK, 0 }, // STATE_FA + { NULL, JSON_TRUE, STATE_OK, 0 }, // STATE_TR + { NULL, JSON_NULL, STATE_OK, 0 }, // STATE_NU + { NULL, JSON_FLOAT, STATE_X1, 0 }, // STATE_DE + { NULL, JSON_FLOAT, STATE_R1, 0 }, // STATE_DF + { act_se, JSON_NONE, 0, 0 }, // STATE_SE + { NULL, JSON_INT, STATE_M0, 0 }, // STATE_MX + { NULL, JSON_INT, STATE_Z0, 0 }, // STATE_ZX + { NULL, JSON_INT, STATE_I0, 0 }, // STATE_IX + { act_uc, JSON_NONE, 0, 0 } // STATE_UC }; -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,7 +645,7 @@ int json_parser_string(json_parser *pars uint32_t length, uint32_t *processed) { int ret; - uint32_t next_class, next_state; + uint8_t next_class, next_state; uint32_t buffer_policy; uint32_t i;