diff options
Diffstat (limited to 'xs_json.h')
| -rw-r--r-- | xs_json.h | 8 |
1 files changed, 4 insertions, 4 deletions
| @@ -372,7 +372,7 @@ d_char *_xs_json_loads_array(const char **json, js_type *t) | |||
| 372 | l = xs_list_append(l, v); | 372 | l = xs_list_append(l, v); |
| 373 | 373 | ||
| 374 | while (*t == JS_INCOMPLETE) { | 374 | while (*t == JS_INCOMPLETE) { |
| 375 | xs *v1 = _xs_json_loads_lexer(&s, &tt); | 375 | free(_xs_json_loads_lexer(&s, &tt)); |
| 376 | 376 | ||
| 377 | if (tt == JS_CBRACK) | 377 | if (tt == JS_CBRACK) |
| 378 | *t = JS_ARRAY; | 378 | *t = JS_ARRAY; |
| @@ -425,7 +425,7 @@ d_char *_xs_json_loads_object(const char **json, js_type *t) | |||
| 425 | *t = JS_OBJECT; | 425 | *t = JS_OBJECT; |
| 426 | else | 426 | else |
| 427 | if (tt == JS_STRING) { | 427 | if (tt == JS_STRING) { |
| 428 | xs *t1 = _xs_json_loads_lexer(&s, &tt); | 428 | free(_xs_json_loads_lexer(&s, &tt)); |
| 429 | 429 | ||
| 430 | if (tt == JS_COLON) { | 430 | if (tt == JS_COLON) { |
| 431 | xs *v1; | 431 | xs *v1; |
| @@ -437,7 +437,7 @@ d_char *_xs_json_loads_object(const char **json, js_type *t) | |||
| 437 | d = xs_dict_append(d, k1, v1); | 437 | d = xs_dict_append(d, k1, v1); |
| 438 | 438 | ||
| 439 | while (*t == JS_INCOMPLETE) { | 439 | while (*t == JS_INCOMPLETE) { |
| 440 | xs *t2 = _xs_json_loads_lexer(&s, &tt); | 440 | free(_xs_json_loads_lexer(&s, &tt)); |
| 441 | 441 | ||
| 442 | if (tt == JS_CCURLY) | 442 | if (tt == JS_CCURLY) |
| 443 | *t = JS_OBJECT; | 443 | *t = JS_OBJECT; |
| @@ -446,7 +446,7 @@ d_char *_xs_json_loads_object(const char **json, js_type *t) | |||
| 446 | xs *k = _xs_json_loads_lexer(&s, &tt); | 446 | xs *k = _xs_json_loads_lexer(&s, &tt); |
| 447 | 447 | ||
| 448 | if (tt == JS_STRING) { | 448 | if (tt == JS_STRING) { |
| 449 | xs *t3 = _xs_json_loads_lexer(&s, &tt); | 449 | free(_xs_json_loads_lexer(&s, &tt)); |
| 450 | 450 | ||
| 451 | if (tt == JS_COLON) { | 451 | if (tt == JS_COLON) { |
| 452 | xs *v; | 452 | xs *v; |