diff --git a/src/pkg-psyc.c b/src/pkg-psyc.c index 9484581..ad1e05d 100644 --- a/src/pkg-psyc.c +++ b/src/pkg-psyc.c @@ -176,7 +176,7 @@ fill_header_from_mapping (svalue_t *key, svalue_t *val, void *extra) { } } - psyc_list_init(&list, elems, VEC_SIZE(val->u.vec), PSYC_LIST_CHECK_LENGTH); + psyc_list_init(&list, elems, VEC_SIZE(val->u.vec)); valuelen = list.length; value = pxalloc(valuelen); if (!value) { @@ -294,7 +294,7 @@ f_psyc_parse (svalue_t *sp) { vector_t *v, *list; mapping_t *map; char oper = 0; - PsycString name = {0,0}, value = {0,0}, elems[MAX_LIST_SIZE], elem; + PsycString name = {0,0}, value = {0,0}, elems[MAX_LIST_SIZE], elem, elem_type; PsycParseListState listState; int ret, retl, type = -1, error = 0; size_t size, i; @@ -461,19 +461,19 @@ f_psyc_parse (svalue_t *sp) { switch (type) { case PSYC_TYPE_DATE: // number + PSYC_EPOCH - if (psyc_parse_date(PSYC_S2ARG(value), &timmy)) + if (psyc_parse_uint(PSYC_S2ARG(value), &timmy)) put_number(sv, timmy); else error = PSYC_PARSE_ERROR_DATE; break; case PSYC_TYPE_TIME: // number - if (psyc_parse_time(PSYC_S2ARG(value), &timmy)) + if (psyc_parse_uint(PSYC_S2ARG(value), &timmy)) put_number(sv, timmy); else error = PSYC_PARSE_ERROR_TIME; break; case PSYC_TYPE_AMOUNT: // number - if (psyc_parse_number(PSYC_S2ARG(value), &n)) + if (psyc_parse_uint(PSYC_S2ARG(value), &n)) put_number(sv, n); else error = PSYC_PARSE_ERROR_AMOUNT; @@ -496,8 +496,9 @@ f_psyc_parse (svalue_t *sp) { psyc_parse_list_state_init(&listState); psyc_parse_list_buffer_set(&listState, PSYC_S2ARG(value)); elem = (PsycString){0, 0}; + elem_type = (PsycString){0, 0}; do { - retl = psyc_parse_list(&listState, &elem); + retl = psyc_parse_list(&listState, &elem_type, &elem); switch (retl) { case PSYC_PARSE_LIST_END: retl = 0; diff --git a/src/pkg-psyc.h b/src/pkg-psyc.h index 9187baf..89aa70b 100644 --- a/src/pkg-psyc.h +++ b/src/pkg-psyc.h @@ -6,6 +6,7 @@ * or int* where necessary. */ +# include # include # include