Revert "fix bug in partial list parsing"

This reverts commit c593d85742.
This commit is contained in:
lurchi 2016-09-05 12:55:37 +02:00
parent d65ac87b9e
commit 678304a144
1 changed files with 2 additions and 6 deletions

View File

@ -683,14 +683,12 @@ psyc_parse_list (PsycParseListState *state, PsycString *type, PsycString *elem)
switch (parse_binary((ParseState*)state, state->elemlen, elem, switch (parse_binary((ParseState*)state, state->elemlen, elem,
&state->elem_parsed)) { &state->elem_parsed)) {
case PARSE_SUCCESS: case PARSE_SUCCESS:
state->part = PSYC_LIST_PART_ELEM_START;
if (elem->length == state->elem_parsed) if (elem->length == state->elem_parsed)
ret = PSYC_PARSE_LIST_ELEM; ret = PSYC_PARSE_LIST_ELEM;
else else
ret = PSYC_PARSE_LIST_ELEM_END; ret = PSYC_PARSE_LIST_ELEM_END;
break; break;
case PARSE_INCOMPLETE: case PARSE_INCOMPLETE:
state->part = PSYC_LIST_PART_ELEM;
if (elem->length == state->elem_parsed) if (elem->length == state->elem_parsed)
ret = PSYC_PARSE_LIST_ELEM_START; ret = PSYC_PARSE_LIST_ELEM_START;
else else
@ -702,7 +700,6 @@ psyc_parse_list (PsycParseListState *state, PsycString *type, PsycString *elem)
} else { } else {
switch (parse_until((ParseState*)state, '|', elem)) { switch (parse_until((ParseState*)state, '|', elem)) {
case PARSE_SUCCESS: case PARSE_SUCCESS:
state->part = PSYC_LIST_PART_ELEM_START;
ret = PSYC_PARSE_LIST_ELEM; ret = PSYC_PARSE_LIST_ELEM;
break; break;
case PARSE_INSUFFICIENT: case PARSE_INSUFFICIENT:
@ -713,6 +710,7 @@ psyc_parse_list (PsycParseListState *state, PsycString *type, PsycString *elem)
} }
} }
state->part = PSYC_LIST_PART_ELEM_START;
state->startc = state->cursor; state->startc = state->cursor;
return ret; return ret;
} }
@ -920,7 +918,6 @@ psyc_parse_dict (PsycParseDictState *state, PsycString *type, PsycString *elem)
switch (parse_binary((ParseState*)state, state->elemlen, elem, switch (parse_binary((ParseState*)state, state->elemlen, elem,
&state->elem_parsed)) { &state->elem_parsed)) {
case PARSE_SUCCESS: case PARSE_SUCCESS:
state->part = PSYC_DICT_PART_KEY_START;
if (elem->length == state->elem_parsed) if (elem->length == state->elem_parsed)
ret = PSYC_PARSE_DICT_VALUE; ret = PSYC_PARSE_DICT_VALUE;
else else
@ -938,7 +935,6 @@ psyc_parse_dict (PsycParseDictState *state, PsycString *type, PsycString *elem)
} else { } else {
switch (parse_until((ParseState*)state, '{', elem)) { switch (parse_until((ParseState*)state, '{', elem)) {
case PARSE_SUCCESS: case PARSE_SUCCESS:
state->part = PSYC_DICT_PART_KEY_START;
ret = PSYC_PARSE_DICT_VALUE; ret = PSYC_PARSE_DICT_VALUE;
break; break;
case PARSE_INSUFFICIENT: case PARSE_INSUFFICIENT:
@ -948,7 +944,7 @@ psyc_parse_dict (PsycParseDictState *state, PsycString *type, PsycString *elem)
} }
} }
//state->part = PSYC_DICT_PART_KEY_START; state->part = PSYC_DICT_PART_KEY_START;
return ret; return ret;
} }