Fossil SCM
Upstream cson patch to change f() decls to f(void) and rename internal symbols which collide with system/compiler symbols on HPUX and Solaris 11/Illumos.
Commit
0d3425db7b96fd437373405e5aa9226c05f6a354b0bdd4ae2130e0651d4fcda9
Parent
7989d7cdbe4923c…
2 files changed
+46
-42
+7
-7
+46
-42
| --- src/cson_amalgamation.c | ||
| +++ src/cson_amalgamation.c | ||
| @@ -322,11 +322,11 @@ | ||
| 322 | 322 | #endif |
| 323 | 323 | |
| 324 | 324 | |
| 325 | 325 | #define true 1 |
| 326 | 326 | #define false 0 |
| 327 | -#define __ -1 /* the universal error code */ | |
| 327 | +#define XX -1 /* the universal error code */ | |
| 328 | 328 | |
| 329 | 329 | /* values chosen so that the object size is approx equal to one page (4K) */ |
| 330 | 330 | #ifndef JSON_PARSER_STACK_SIZE |
| 331 | 331 | # define JSON_PARSER_STACK_SIZE 128 |
| 332 | 332 | #endif |
| @@ -414,14 +414,14 @@ | ||
| 414 | 414 | /* |
| 415 | 415 | This array maps the 128 ASCII characters into character classes. |
| 416 | 416 | The remaining Unicode characters should be mapped to C_ETC. |
| 417 | 417 | Non-whitespace control characters are errors. |
| 418 | 418 | */ |
| 419 | - __, __, __, __, __, __, __, __, | |
| 420 | - __, C_WHITE, C_WHITE, __, __, C_WHITE, __, __, | |
| 421 | - __, __, __, __, __, __, __, __, | |
| 422 | - __, __, __, __, __, __, __, __, | |
| 419 | + XX, XX, XX, XX, XX, XX, XX, XX, | |
| 420 | + XX, C_WHITE, C_WHITE, XX, XX, C_WHITE, XX, XX, | |
| 421 | + XX, XX, XX, XX, XX, XX, XX, XX, | |
| 422 | + XX, XX, XX, XX, XX, XX, XX, XX, | |
| 423 | 423 | |
| 424 | 424 | C_SPACE, C_ETC, C_QUOTE, C_ETC, C_ETC, C_ETC, C_ETC, C_ETC, |
| 425 | 425 | C_ETC, C_ETC, C_STAR, C_PLUS, C_COMMA, C_MINUS, C_POINT, C_SLASH, |
| 426 | 426 | C_ZERO, C_DIGIT, C_DIGIT, C_DIGIT, C_DIGIT, C_DIGIT, C_DIGIT, C_DIGIT, |
| 427 | 427 | C_DIGIT, C_DIGIT, C_COLON, C_ETC, C_ETC, C_ETC, C_ETC, C_ETC, |
| @@ -448,11 +448,11 @@ | ||
| 448 | 448 | KE, /* key */ |
| 449 | 449 | CO, /* colon */ |
| 450 | 450 | VA, /* value */ |
| 451 | 451 | AR, /* array */ |
| 452 | 452 | ST, /* string */ |
| 453 | - ES, /* escape */ | |
| 453 | + ESC, /* escape */ | |
| 454 | 454 | U1, /* u1 */ |
| 455 | 455 | U2, /* u2 */ |
| 456 | 456 | U3, /* u3 */ |
| 457 | 457 | U4, /* u4 */ |
| 458 | 458 | MI, /* minus */ |
| @@ -506,46 +506,46 @@ | ||
| 506 | 506 | negative number. A JSON text is accepted if at the end of the text the |
| 507 | 507 | state is OK and if the mode is MODE_DONE. |
| 508 | 508 | |
| 509 | 509 | white 1-9 ABCDF etc |
| 510 | 510 | space | { } [ ] : , " \ / + - . 0 | a b c d e f l n r s t u | E | * */ |
| 511 | -/*start GO*/ {GO,GO,-6,__,-5,__,__,__,__,__,CB,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, | |
| 512 | -/*ok OK*/ {OK,OK,__,-8,__,-7,__,-3,__,__,CB,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, | |
| 513 | -/*object OB*/ {OB,OB,__,-9,__,__,__,__,SB,__,CB,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, | |
| 514 | -/*key KE*/ {KE,KE,__,__,__,__,__,__,SB,__,CB,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, | |
| 515 | -/*colon CO*/ {CO,CO,__,__,__,__,-2,__,__,__,CB,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, | |
| 516 | -/*value VA*/ {VA,VA,-6,__,-5,__,__,__,SB,__,CB,__,MX,__,ZX,IX,__,__,__,__,__,FA,__,NU,__,__,TR,__,__,__,__,__}, | |
| 517 | -/*array AR*/ {AR,AR,-6,__,-5,-7,__,__,SB,__,CB,__,MX,__,ZX,IX,__,__,__,__,__,FA,__,NU,__,__,TR,__,__,__,__,__}, | |
| 518 | -/*string ST*/ {ST,__,ST,ST,ST,ST,ST,ST,-4,EX,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST}, | |
| 519 | -/*escape ES*/ {__,__,__,__,__,__,__,__,ST,ST,ST,__,__,__,__,__,__,ST,__,__,__,ST,__,ST,ST,__,ST,U1,__,__,__,__}, | |
| 520 | -/*u1 U1*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,U2,U2,U2,U2,U2,U2,U2,U2,__,__,__,__,__,__,U2,U2,__,__}, | |
| 521 | -/*u2 U2*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,U3,U3,U3,U3,U3,U3,U3,U3,__,__,__,__,__,__,U3,U3,__,__}, | |
| 522 | -/*u3 U3*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,U4,U4,U4,U4,U4,U4,U4,U4,__,__,__,__,__,__,U4,U4,__,__}, | |
| 523 | -/*u4 U4*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,UC,UC,UC,UC,UC,UC,UC,UC,__,__,__,__,__,__,UC,UC,__,__}, | |
| 524 | -/*minus MI*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,ZE,IT,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, | |
| 525 | -/*zero ZE*/ {OK,OK,__,-8,__,-7,__,-3,__,__,CB,__,__,DF,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, | |
| 526 | -/*int IT*/ {OK,OK,__,-8,__,-7,__,-3,__,__,CB,__,__,DF,IT,IT,__,__,__,__,DE,__,__,__,__,__,__,__,__,DE,__,__}, | |
| 527 | -/*frac FR*/ {OK,OK,__,-8,__,-7,__,-3,__,__,CB,__,__,__,FR,FR,__,__,__,__,E1,__,__,__,__,__,__,__,__,E1,__,__}, | |
| 528 | -/*e E1*/ {__,__,__,__,__,__,__,__,__,__,__,E2,E2,__,E3,E3,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, | |
| 529 | -/*ex E2*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,E3,E3,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, | |
| 530 | -/*exp E3*/ {OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,__,E3,E3,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, | |
| 531 | -/*tr T1*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,T2,__,__,__,__,__,__,__}, | |
| 532 | -/*tru T2*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,T3,__,__,__,__}, | |
| 533 | -/*true T3*/ {__,__,__,__,__,__,__,__,__,__,CB,__,__,__,__,__,__,__,__,__,OK,__,__,__,__,__,__,__,__,__,__,__}, | |
| 534 | -/*fa F1*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,F2,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, | |
| 535 | -/*fal F2*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,F3,__,__,__,__,__,__,__,__,__}, | |
| 536 | -/*fals F3*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,F4,__,__,__,__,__,__}, | |
| 537 | -/*false F4*/ {__,__,__,__,__,__,__,__,__,__,CB,__,__,__,__,__,__,__,__,__,OK,__,__,__,__,__,__,__,__,__,__,__}, | |
| 538 | -/*nu N1*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,N2,__,__,__,__}, | |
| 539 | -/*nul N2*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,N3,__,__,__,__,__,__,__,__,__}, | |
| 540 | -/*null N3*/ {__,__,__,__,__,__,__,__,__,__,CB,__,__,__,__,__,__,__,__,__,__,__,OK,__,__,__,__,__,__,__,__,__}, | |
| 541 | -/*/ C1*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,C2}, | |
| 511 | +/*start GO*/ {GO,GO,-6,XX,-5,XX,XX,XX,XX,XX,CB,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, | |
| 512 | +/*ok OK*/ {OK,OK,XX,-8,XX,-7,XX,-3,XX,XX,CB,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, | |
| 513 | +/*object OB*/ {OB,OB,XX,-9,XX,XX,XX,XX,SB,XX,CB,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, | |
| 514 | +/*key KE*/ {KE,KE,XX,XX,XX,XX,XX,XX,SB,XX,CB,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, | |
| 515 | +/*colon CO*/ {CO,CO,XX,XX,XX,XX,-2,XX,XX,XX,CB,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, | |
| 516 | +/*value VA*/ {VA,VA,-6,XX,-5,XX,XX,XX,SB,XX,CB,XX,MX,XX,ZX,IX,XX,XX,XX,XX,XX,FA,XX,NU,XX,XX,TR,XX,XX,XX,XX,XX}, | |
| 517 | +/*array AR*/ {AR,AR,-6,XX,-5,-7,XX,XX,SB,XX,CB,XX,MX,XX,ZX,IX,XX,XX,XX,XX,XX,FA,XX,NU,XX,XX,TR,XX,XX,XX,XX,XX}, | |
| 518 | +/*string ST*/ {ST,XX,ST,ST,ST,ST,ST,ST,-4,EX,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST}, | |
| 519 | +/*escape ES*/ {XX,XX,XX,XX,XX,XX,XX,XX,ST,ST,ST,XX,XX,XX,XX,XX,XX,ST,XX,XX,XX,ST,XX,ST,ST,XX,ST,U1,XX,XX,XX,XX}, | |
| 520 | +/*u1 U1*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,U2,U2,U2,U2,U2,U2,U2,U2,XX,XX,XX,XX,XX,XX,U2,U2,XX,XX}, | |
| 521 | +/*u2 U2*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,U3,U3,U3,U3,U3,U3,U3,U3,XX,XX,XX,XX,XX,XX,U3,U3,XX,XX}, | |
| 522 | +/*u3 U3*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,U4,U4,U4,U4,U4,U4,U4,U4,XX,XX,XX,XX,XX,XX,U4,U4,XX,XX}, | |
| 523 | +/*u4 U4*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,UC,UC,UC,UC,UC,UC,UC,UC,XX,XX,XX,XX,XX,XX,UC,UC,XX,XX}, | |
| 524 | +/*minus MI*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,ZE,IT,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, | |
| 525 | +/*zero ZE*/ {OK,OK,XX,-8,XX,-7,XX,-3,XX,XX,CB,XX,XX,DF,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, | |
| 526 | +/*int IT*/ {OK,OK,XX,-8,XX,-7,XX,-3,XX,XX,CB,XX,XX,DF,IT,IT,XX,XX,XX,XX,DE,XX,XX,XX,XX,XX,XX,XX,XX,DE,XX,XX}, | |
| 527 | +/*frac FR*/ {OK,OK,XX,-8,XX,-7,XX,-3,XX,XX,CB,XX,XX,XX,FR,FR,XX,XX,XX,XX,E1,XX,XX,XX,XX,XX,XX,XX,XX,E1,XX,XX}, | |
| 528 | +/*e E1*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,E2,E2,XX,E3,E3,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, | |
| 529 | +/*ex E2*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,E3,E3,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, | |
| 530 | +/*exp E3*/ {OK,OK,XX,-8,XX,-7,XX,-3,XX,XX,XX,XX,XX,XX,E3,E3,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, | |
| 531 | +/*tr T1*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,T2,XX,XX,XX,XX,XX,XX,XX}, | |
| 532 | +/*tru T2*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,T3,XX,XX,XX,XX}, | |
| 533 | +/*true T3*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,CB,XX,XX,XX,XX,XX,XX,XX,XX,XX,OK,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, | |
| 534 | +/*fa F1*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,F2,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, | |
| 535 | +/*fal F2*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,F3,XX,XX,XX,XX,XX,XX,XX,XX,XX}, | |
| 536 | +/*fals F3*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,F4,XX,XX,XX,XX,XX,XX}, | |
| 537 | +/*false F4*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,CB,XX,XX,XX,XX,XX,XX,XX,XX,XX,OK,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, | |
| 538 | +/*nu N1*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,N2,XX,XX,XX,XX}, | |
| 539 | +/*nul N2*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,N3,XX,XX,XX,XX,XX,XX,XX,XX,XX}, | |
| 540 | +/*null N3*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,CB,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,OK,XX,XX,XX,XX,XX,XX,XX,XX,XX}, | |
| 541 | +/*/ C1*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,C2}, | |
| 542 | 542 | /*/star C2*/ {C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C3}, |
| 543 | 543 | /** C3*/ {C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,CE,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C3}, |
| 544 | -/*_. FX*/ {OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,__,FR,FR,__,__,__,__,E1,__,__,__,__,__,__,__,__,E1,__,__}, | |
| 545 | -/*\ D1*/ {__,__,__,__,__,__,__,__,__,D2,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, | |
| 546 | -/*\ D2*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,U1,__,__,__,__}, | |
| 544 | +/*_. FX*/ {OK,OK,XX,-8,XX,-7,XX,-3,XX,XX,XX,XX,XX,XX,FR,FR,XX,XX,XX,XX,E1,XX,XX,XX,XX,XX,XX,XX,XX,E1,XX,XX}, | |
| 545 | +/*\ D1*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,D2,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, | |
| 546 | +/*\ D2*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,U1,XX,XX,XX,XX}, | |
| 547 | 547 | }; |
| 548 | 548 | |
| 549 | 549 | |
| 550 | 550 | /* |
| 551 | 551 | These modes can be pushed on the stack. |
| @@ -1050,11 +1050,11 @@ | ||
| 1050 | 1050 | } |
| 1051 | 1051 | if (next_char >= 128) { |
| 1052 | 1052 | next_class = C_ETC; |
| 1053 | 1053 | } else { |
| 1054 | 1054 | next_class = ascii_class[next_char]; |
| 1055 | - if (next_class <= __) { | |
| 1055 | + if (next_class <= XX) { | |
| 1056 | 1056 | set_error(jc); |
| 1057 | 1057 | return false; |
| 1058 | 1058 | } |
| 1059 | 1059 | } |
| 1060 | 1060 | |
| @@ -1090,11 +1090,11 @@ | ||
| 1090 | 1090 | } |
| 1091 | 1091 | break; |
| 1092 | 1092 | /* escaped char */ |
| 1093 | 1093 | case EX: |
| 1094 | 1094 | jc->escaped = 1; |
| 1095 | - jc->state = ES; | |
| 1095 | + jc->state = ESC; | |
| 1096 | 1096 | break; |
| 1097 | 1097 | /* integer detected by minus */ |
| 1098 | 1098 | case MX: |
| 1099 | 1099 | jc->type = JSON_T_INTEGER; |
| 1100 | 1100 | jc->state = MI; |
| @@ -1401,10 +1401,14 @@ | ||
| 1401 | 1401 | config->malloc = malloc; |
| 1402 | 1402 | config->free = free; |
| 1403 | 1403 | } |
| 1404 | 1404 | } |
| 1405 | 1405 | |
| 1406 | +#undef XX | |
| 1407 | +#undef COUNTOF | |
| 1408 | +#undef parse_buffer_clear | |
| 1409 | +#undef parse_buffer_pop_back_char | |
| 1406 | 1410 | /* end file parser/JSON_parser.c */ |
| 1407 | 1411 | /* begin file ./cson.c */ |
| 1408 | 1412 | #include <assert.h> |
| 1409 | 1413 | #include <stdlib.h> /* malloc()/free() */ |
| 1410 | 1414 | #include <string.h> |
| 1411 | 1415 |
| --- src/cson_amalgamation.c | |
| +++ src/cson_amalgamation.c | |
| @@ -322,11 +322,11 @@ | |
| 322 | #endif |
| 323 | |
| 324 | |
| 325 | #define true 1 |
| 326 | #define false 0 |
| 327 | #define __ -1 /* the universal error code */ |
| 328 | |
| 329 | /* values chosen so that the object size is approx equal to one page (4K) */ |
| 330 | #ifndef JSON_PARSER_STACK_SIZE |
| 331 | # define JSON_PARSER_STACK_SIZE 128 |
| 332 | #endif |
| @@ -414,14 +414,14 @@ | |
| 414 | /* |
| 415 | This array maps the 128 ASCII characters into character classes. |
| 416 | The remaining Unicode characters should be mapped to C_ETC. |
| 417 | Non-whitespace control characters are errors. |
| 418 | */ |
| 419 | __, __, __, __, __, __, __, __, |
| 420 | __, C_WHITE, C_WHITE, __, __, C_WHITE, __, __, |
| 421 | __, __, __, __, __, __, __, __, |
| 422 | __, __, __, __, __, __, __, __, |
| 423 | |
| 424 | C_SPACE, C_ETC, C_QUOTE, C_ETC, C_ETC, C_ETC, C_ETC, C_ETC, |
| 425 | C_ETC, C_ETC, C_STAR, C_PLUS, C_COMMA, C_MINUS, C_POINT, C_SLASH, |
| 426 | C_ZERO, C_DIGIT, C_DIGIT, C_DIGIT, C_DIGIT, C_DIGIT, C_DIGIT, C_DIGIT, |
| 427 | C_DIGIT, C_DIGIT, C_COLON, C_ETC, C_ETC, C_ETC, C_ETC, C_ETC, |
| @@ -448,11 +448,11 @@ | |
| 448 | KE, /* key */ |
| 449 | CO, /* colon */ |
| 450 | VA, /* value */ |
| 451 | AR, /* array */ |
| 452 | ST, /* string */ |
| 453 | ES, /* escape */ |
| 454 | U1, /* u1 */ |
| 455 | U2, /* u2 */ |
| 456 | U3, /* u3 */ |
| 457 | U4, /* u4 */ |
| 458 | MI, /* minus */ |
| @@ -506,46 +506,46 @@ | |
| 506 | negative number. A JSON text is accepted if at the end of the text the |
| 507 | state is OK and if the mode is MODE_DONE. |
| 508 | |
| 509 | white 1-9 ABCDF etc |
| 510 | space | { } [ ] : , " \ / + - . 0 | a b c d e f l n r s t u | E | * */ |
| 511 | /*start GO*/ {GO,GO,-6,__,-5,__,__,__,__,__,CB,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, |
| 512 | /*ok OK*/ {OK,OK,__,-8,__,-7,__,-3,__,__,CB,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, |
| 513 | /*object OB*/ {OB,OB,__,-9,__,__,__,__,SB,__,CB,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, |
| 514 | /*key KE*/ {KE,KE,__,__,__,__,__,__,SB,__,CB,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, |
| 515 | /*colon CO*/ {CO,CO,__,__,__,__,-2,__,__,__,CB,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, |
| 516 | /*value VA*/ {VA,VA,-6,__,-5,__,__,__,SB,__,CB,__,MX,__,ZX,IX,__,__,__,__,__,FA,__,NU,__,__,TR,__,__,__,__,__}, |
| 517 | /*array AR*/ {AR,AR,-6,__,-5,-7,__,__,SB,__,CB,__,MX,__,ZX,IX,__,__,__,__,__,FA,__,NU,__,__,TR,__,__,__,__,__}, |
| 518 | /*string ST*/ {ST,__,ST,ST,ST,ST,ST,ST,-4,EX,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST}, |
| 519 | /*escape ES*/ {__,__,__,__,__,__,__,__,ST,ST,ST,__,__,__,__,__,__,ST,__,__,__,ST,__,ST,ST,__,ST,U1,__,__,__,__}, |
| 520 | /*u1 U1*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,U2,U2,U2,U2,U2,U2,U2,U2,__,__,__,__,__,__,U2,U2,__,__}, |
| 521 | /*u2 U2*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,U3,U3,U3,U3,U3,U3,U3,U3,__,__,__,__,__,__,U3,U3,__,__}, |
| 522 | /*u3 U3*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,U4,U4,U4,U4,U4,U4,U4,U4,__,__,__,__,__,__,U4,U4,__,__}, |
| 523 | /*u4 U4*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,UC,UC,UC,UC,UC,UC,UC,UC,__,__,__,__,__,__,UC,UC,__,__}, |
| 524 | /*minus MI*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,ZE,IT,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, |
| 525 | /*zero ZE*/ {OK,OK,__,-8,__,-7,__,-3,__,__,CB,__,__,DF,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, |
| 526 | /*int IT*/ {OK,OK,__,-8,__,-7,__,-3,__,__,CB,__,__,DF,IT,IT,__,__,__,__,DE,__,__,__,__,__,__,__,__,DE,__,__}, |
| 527 | /*frac FR*/ {OK,OK,__,-8,__,-7,__,-3,__,__,CB,__,__,__,FR,FR,__,__,__,__,E1,__,__,__,__,__,__,__,__,E1,__,__}, |
| 528 | /*e E1*/ {__,__,__,__,__,__,__,__,__,__,__,E2,E2,__,E3,E3,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, |
| 529 | /*ex E2*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,E3,E3,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, |
| 530 | /*exp E3*/ {OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,__,E3,E3,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, |
| 531 | /*tr T1*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,T2,__,__,__,__,__,__,__}, |
| 532 | /*tru T2*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,T3,__,__,__,__}, |
| 533 | /*true T3*/ {__,__,__,__,__,__,__,__,__,__,CB,__,__,__,__,__,__,__,__,__,OK,__,__,__,__,__,__,__,__,__,__,__}, |
| 534 | /*fa F1*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,F2,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, |
| 535 | /*fal F2*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,F3,__,__,__,__,__,__,__,__,__}, |
| 536 | /*fals F3*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,F4,__,__,__,__,__,__}, |
| 537 | /*false F4*/ {__,__,__,__,__,__,__,__,__,__,CB,__,__,__,__,__,__,__,__,__,OK,__,__,__,__,__,__,__,__,__,__,__}, |
| 538 | /*nu N1*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,N2,__,__,__,__}, |
| 539 | /*nul N2*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,N3,__,__,__,__,__,__,__,__,__}, |
| 540 | /*null N3*/ {__,__,__,__,__,__,__,__,__,__,CB,__,__,__,__,__,__,__,__,__,__,__,OK,__,__,__,__,__,__,__,__,__}, |
| 541 | /*/ C1*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,C2}, |
| 542 | /*/star C2*/ {C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C3}, |
| 543 | /** C3*/ {C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,CE,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C3}, |
| 544 | /*_. FX*/ {OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,__,FR,FR,__,__,__,__,E1,__,__,__,__,__,__,__,__,E1,__,__}, |
| 545 | /*\ D1*/ {__,__,__,__,__,__,__,__,__,D2,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__}, |
| 546 | /*\ D2*/ {__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,U1,__,__,__,__}, |
| 547 | }; |
| 548 | |
| 549 | |
| 550 | /* |
| 551 | These modes can be pushed on the stack. |
| @@ -1050,11 +1050,11 @@ | |
| 1050 | } |
| 1051 | if (next_char >= 128) { |
| 1052 | next_class = C_ETC; |
| 1053 | } else { |
| 1054 | next_class = ascii_class[next_char]; |
| 1055 | if (next_class <= __) { |
| 1056 | set_error(jc); |
| 1057 | return false; |
| 1058 | } |
| 1059 | } |
| 1060 | |
| @@ -1090,11 +1090,11 @@ | |
| 1090 | } |
| 1091 | break; |
| 1092 | /* escaped char */ |
| 1093 | case EX: |
| 1094 | jc->escaped = 1; |
| 1095 | jc->state = ES; |
| 1096 | break; |
| 1097 | /* integer detected by minus */ |
| 1098 | case MX: |
| 1099 | jc->type = JSON_T_INTEGER; |
| 1100 | jc->state = MI; |
| @@ -1401,10 +1401,14 @@ | |
| 1401 | config->malloc = malloc; |
| 1402 | config->free = free; |
| 1403 | } |
| 1404 | } |
| 1405 | |
| 1406 | /* end file parser/JSON_parser.c */ |
| 1407 | /* begin file ./cson.c */ |
| 1408 | #include <assert.h> |
| 1409 | #include <stdlib.h> /* malloc()/free() */ |
| 1410 | #include <string.h> |
| 1411 |
| --- src/cson_amalgamation.c | |
| +++ src/cson_amalgamation.c | |
| @@ -322,11 +322,11 @@ | |
| 322 | #endif |
| 323 | |
| 324 | |
| 325 | #define true 1 |
| 326 | #define false 0 |
| 327 | #define XX -1 /* the universal error code */ |
| 328 | |
| 329 | /* values chosen so that the object size is approx equal to one page (4K) */ |
| 330 | #ifndef JSON_PARSER_STACK_SIZE |
| 331 | # define JSON_PARSER_STACK_SIZE 128 |
| 332 | #endif |
| @@ -414,14 +414,14 @@ | |
| 414 | /* |
| 415 | This array maps the 128 ASCII characters into character classes. |
| 416 | The remaining Unicode characters should be mapped to C_ETC. |
| 417 | Non-whitespace control characters are errors. |
| 418 | */ |
| 419 | XX, XX, XX, XX, XX, XX, XX, XX, |
| 420 | XX, C_WHITE, C_WHITE, XX, XX, C_WHITE, XX, XX, |
| 421 | XX, XX, XX, XX, XX, XX, XX, XX, |
| 422 | XX, XX, XX, XX, XX, XX, XX, XX, |
| 423 | |
| 424 | C_SPACE, C_ETC, C_QUOTE, C_ETC, C_ETC, C_ETC, C_ETC, C_ETC, |
| 425 | C_ETC, C_ETC, C_STAR, C_PLUS, C_COMMA, C_MINUS, C_POINT, C_SLASH, |
| 426 | C_ZERO, C_DIGIT, C_DIGIT, C_DIGIT, C_DIGIT, C_DIGIT, C_DIGIT, C_DIGIT, |
| 427 | C_DIGIT, C_DIGIT, C_COLON, C_ETC, C_ETC, C_ETC, C_ETC, C_ETC, |
| @@ -448,11 +448,11 @@ | |
| 448 | KE, /* key */ |
| 449 | CO, /* colon */ |
| 450 | VA, /* value */ |
| 451 | AR, /* array */ |
| 452 | ST, /* string */ |
| 453 | ESC, /* escape */ |
| 454 | U1, /* u1 */ |
| 455 | U2, /* u2 */ |
| 456 | U3, /* u3 */ |
| 457 | U4, /* u4 */ |
| 458 | MI, /* minus */ |
| @@ -506,46 +506,46 @@ | |
| 506 | negative number. A JSON text is accepted if at the end of the text the |
| 507 | state is OK and if the mode is MODE_DONE. |
| 508 | |
| 509 | white 1-9 ABCDF etc |
| 510 | space | { } [ ] : , " \ / + - . 0 | a b c d e f l n r s t u | E | * */ |
| 511 | /*start GO*/ {GO,GO,-6,XX,-5,XX,XX,XX,XX,XX,CB,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, |
| 512 | /*ok OK*/ {OK,OK,XX,-8,XX,-7,XX,-3,XX,XX,CB,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, |
| 513 | /*object OB*/ {OB,OB,XX,-9,XX,XX,XX,XX,SB,XX,CB,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, |
| 514 | /*key KE*/ {KE,KE,XX,XX,XX,XX,XX,XX,SB,XX,CB,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, |
| 515 | /*colon CO*/ {CO,CO,XX,XX,XX,XX,-2,XX,XX,XX,CB,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, |
| 516 | /*value VA*/ {VA,VA,-6,XX,-5,XX,XX,XX,SB,XX,CB,XX,MX,XX,ZX,IX,XX,XX,XX,XX,XX,FA,XX,NU,XX,XX,TR,XX,XX,XX,XX,XX}, |
| 517 | /*array AR*/ {AR,AR,-6,XX,-5,-7,XX,XX,SB,XX,CB,XX,MX,XX,ZX,IX,XX,XX,XX,XX,XX,FA,XX,NU,XX,XX,TR,XX,XX,XX,XX,XX}, |
| 518 | /*string ST*/ {ST,XX,ST,ST,ST,ST,ST,ST,-4,EX,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST}, |
| 519 | /*escape ES*/ {XX,XX,XX,XX,XX,XX,XX,XX,ST,ST,ST,XX,XX,XX,XX,XX,XX,ST,XX,XX,XX,ST,XX,ST,ST,XX,ST,U1,XX,XX,XX,XX}, |
| 520 | /*u1 U1*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,U2,U2,U2,U2,U2,U2,U2,U2,XX,XX,XX,XX,XX,XX,U2,U2,XX,XX}, |
| 521 | /*u2 U2*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,U3,U3,U3,U3,U3,U3,U3,U3,XX,XX,XX,XX,XX,XX,U3,U3,XX,XX}, |
| 522 | /*u3 U3*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,U4,U4,U4,U4,U4,U4,U4,U4,XX,XX,XX,XX,XX,XX,U4,U4,XX,XX}, |
| 523 | /*u4 U4*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,UC,UC,UC,UC,UC,UC,UC,UC,XX,XX,XX,XX,XX,XX,UC,UC,XX,XX}, |
| 524 | /*minus MI*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,ZE,IT,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, |
| 525 | /*zero ZE*/ {OK,OK,XX,-8,XX,-7,XX,-3,XX,XX,CB,XX,XX,DF,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, |
| 526 | /*int IT*/ {OK,OK,XX,-8,XX,-7,XX,-3,XX,XX,CB,XX,XX,DF,IT,IT,XX,XX,XX,XX,DE,XX,XX,XX,XX,XX,XX,XX,XX,DE,XX,XX}, |
| 527 | /*frac FR*/ {OK,OK,XX,-8,XX,-7,XX,-3,XX,XX,CB,XX,XX,XX,FR,FR,XX,XX,XX,XX,E1,XX,XX,XX,XX,XX,XX,XX,XX,E1,XX,XX}, |
| 528 | /*e E1*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,E2,E2,XX,E3,E3,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, |
| 529 | /*ex E2*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,E3,E3,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, |
| 530 | /*exp E3*/ {OK,OK,XX,-8,XX,-7,XX,-3,XX,XX,XX,XX,XX,XX,E3,E3,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, |
| 531 | /*tr T1*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,T2,XX,XX,XX,XX,XX,XX,XX}, |
| 532 | /*tru T2*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,T3,XX,XX,XX,XX}, |
| 533 | /*true T3*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,CB,XX,XX,XX,XX,XX,XX,XX,XX,XX,OK,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, |
| 534 | /*fa F1*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,F2,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, |
| 535 | /*fal F2*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,F3,XX,XX,XX,XX,XX,XX,XX,XX,XX}, |
| 536 | /*fals F3*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,F4,XX,XX,XX,XX,XX,XX}, |
| 537 | /*false F4*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,CB,XX,XX,XX,XX,XX,XX,XX,XX,XX,OK,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, |
| 538 | /*nu N1*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,N2,XX,XX,XX,XX}, |
| 539 | /*nul N2*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,N3,XX,XX,XX,XX,XX,XX,XX,XX,XX}, |
| 540 | /*null N3*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,CB,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,OK,XX,XX,XX,XX,XX,XX,XX,XX,XX}, |
| 541 | /*/ C1*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,C2}, |
| 542 | /*/star C2*/ {C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C3}, |
| 543 | /** C3*/ {C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,CE,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C2,C3}, |
| 544 | /*_. FX*/ {OK,OK,XX,-8,XX,-7,XX,-3,XX,XX,XX,XX,XX,XX,FR,FR,XX,XX,XX,XX,E1,XX,XX,XX,XX,XX,XX,XX,XX,E1,XX,XX}, |
| 545 | /*\ D1*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,D2,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX}, |
| 546 | /*\ D2*/ {XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,U1,XX,XX,XX,XX}, |
| 547 | }; |
| 548 | |
| 549 | |
| 550 | /* |
| 551 | These modes can be pushed on the stack. |
| @@ -1050,11 +1050,11 @@ | |
| 1050 | } |
| 1051 | if (next_char >= 128) { |
| 1052 | next_class = C_ETC; |
| 1053 | } else { |
| 1054 | next_class = ascii_class[next_char]; |
| 1055 | if (next_class <= XX) { |
| 1056 | set_error(jc); |
| 1057 | return false; |
| 1058 | } |
| 1059 | } |
| 1060 | |
| @@ -1090,11 +1090,11 @@ | |
| 1090 | } |
| 1091 | break; |
| 1092 | /* escaped char */ |
| 1093 | case EX: |
| 1094 | jc->escaped = 1; |
| 1095 | jc->state = ESC; |
| 1096 | break; |
| 1097 | /* integer detected by minus */ |
| 1098 | case MX: |
| 1099 | jc->type = JSON_T_INTEGER; |
| 1100 | jc->state = MI; |
| @@ -1401,10 +1401,14 @@ | |
| 1401 | config->malloc = malloc; |
| 1402 | config->free = free; |
| 1403 | } |
| 1404 | } |
| 1405 | |
| 1406 | #undef XX |
| 1407 | #undef COUNTOF |
| 1408 | #undef parse_buffer_clear |
| 1409 | #undef parse_buffer_pop_back_char |
| 1410 | /* end file parser/JSON_parser.c */ |
| 1411 | /* begin file ./cson.c */ |
| 1412 | #include <assert.h> |
| 1413 | #include <stdlib.h> /* malloc()/free() */ |
| 1414 | #include <string.h> |
| 1415 |
+7
-7
| --- src/cson_amalgamation.h | ||
| +++ src/cson_amalgamation.h | ||
| @@ -1287,21 +1287,21 @@ | ||
| 1287 | 1287 | its string representation is "null" (without the quotes). |
| 1288 | 1288 | |
| 1289 | 1289 | See cson_value_new_bool() for notes regarding the returned |
| 1290 | 1290 | value's memory. |
| 1291 | 1291 | */ |
| 1292 | -cson_value * cson_value_null(); | |
| 1292 | +cson_value * cson_value_null( void ); | |
| 1293 | 1293 | |
| 1294 | 1294 | /** |
| 1295 | 1295 | Equivalent to cson_value_new_bool(1). |
| 1296 | 1296 | */ |
| 1297 | -cson_value * cson_value_true(); | |
| 1297 | +cson_value * cson_value_true( void ); | |
| 1298 | 1298 | |
| 1299 | 1299 | /** |
| 1300 | 1300 | Equivalent to cson_value_new_bool(0). |
| 1301 | 1301 | */ |
| 1302 | -cson_value * cson_value_false(); | |
| 1302 | +cson_value * cson_value_false( void ); | |
| 1303 | 1303 | |
| 1304 | 1304 | /** |
| 1305 | 1305 | Semantically the same as cson_value_new_bool(), but for integers. |
| 1306 | 1306 | */ |
| 1307 | 1307 | cson_value * cson_value_new_integer( cson_int_t v ); |
| @@ -1346,11 +1346,11 @@ | ||
| 1346 | 1346 | Post-conditions: cson_value_is_object(value) will return true. |
| 1347 | 1347 | |
| 1348 | 1348 | @see cson_value_new_array() |
| 1349 | 1349 | @see cson_value_free() |
| 1350 | 1350 | */ |
| 1351 | -cson_value * cson_value_new_object(); | |
| 1351 | +cson_value * cson_value_new_object( void ); | |
| 1352 | 1352 | |
| 1353 | 1353 | /** |
| 1354 | 1354 | This works like cson_value_new_object() but returns an Object |
| 1355 | 1355 | handle directly. |
| 1356 | 1356 | |
| @@ -1361,17 +1361,17 @@ | ||
| 1361 | 1361 | by passing the Value handle (NOT the Object handle) to |
| 1362 | 1362 | cson_value_free() or passing ownership to a parent container. |
| 1363 | 1363 | |
| 1364 | 1364 | Returns NULL on error (out of memory). |
| 1365 | 1365 | */ |
| 1366 | -cson_object * cson_new_object(); | |
| 1366 | +cson_object * cson_new_object( void ); | |
| 1367 | 1367 | |
| 1368 | 1368 | /** |
| 1369 | 1369 | Identical to cson_new_object() except that it creates |
| 1370 | 1370 | an Array. |
| 1371 | 1371 | */ |
| 1372 | -cson_array * cson_new_array(); | |
| 1372 | +cson_array * cson_new_array( void ); | |
| 1373 | 1373 | |
| 1374 | 1374 | /** |
| 1375 | 1375 | Identical to cson_new_object() except that it creates |
| 1376 | 1376 | a String. |
| 1377 | 1377 | */ |
| @@ -1403,11 +1403,11 @@ | ||
| 1403 | 1403 | Post-conditions: cson_value_is_array(value) will return true. |
| 1404 | 1404 | |
| 1405 | 1405 | @see cson_value_new_object() |
| 1406 | 1406 | @see cson_value_free() |
| 1407 | 1407 | */ |
| 1408 | -cson_value * cson_value_new_array(); | |
| 1408 | +cson_value * cson_value_new_array( void ); | |
| 1409 | 1409 | |
| 1410 | 1410 | /** |
| 1411 | 1411 | Frees any resources owned by v, then frees v. If v is a container |
| 1412 | 1412 | type (object or array) its children are also freed (recursively). |
| 1413 | 1413 | |
| 1414 | 1414 |
| --- src/cson_amalgamation.h | |
| +++ src/cson_amalgamation.h | |
| @@ -1287,21 +1287,21 @@ | |
| 1287 | its string representation is "null" (without the quotes). |
| 1288 | |
| 1289 | See cson_value_new_bool() for notes regarding the returned |
| 1290 | value's memory. |
| 1291 | */ |
| 1292 | cson_value * cson_value_null(); |
| 1293 | |
| 1294 | /** |
| 1295 | Equivalent to cson_value_new_bool(1). |
| 1296 | */ |
| 1297 | cson_value * cson_value_true(); |
| 1298 | |
| 1299 | /** |
| 1300 | Equivalent to cson_value_new_bool(0). |
| 1301 | */ |
| 1302 | cson_value * cson_value_false(); |
| 1303 | |
| 1304 | /** |
| 1305 | Semantically the same as cson_value_new_bool(), but for integers. |
| 1306 | */ |
| 1307 | cson_value * cson_value_new_integer( cson_int_t v ); |
| @@ -1346,11 +1346,11 @@ | |
| 1346 | Post-conditions: cson_value_is_object(value) will return true. |
| 1347 | |
| 1348 | @see cson_value_new_array() |
| 1349 | @see cson_value_free() |
| 1350 | */ |
| 1351 | cson_value * cson_value_new_object(); |
| 1352 | |
| 1353 | /** |
| 1354 | This works like cson_value_new_object() but returns an Object |
| 1355 | handle directly. |
| 1356 | |
| @@ -1361,17 +1361,17 @@ | |
| 1361 | by passing the Value handle (NOT the Object handle) to |
| 1362 | cson_value_free() or passing ownership to a parent container. |
| 1363 | |
| 1364 | Returns NULL on error (out of memory). |
| 1365 | */ |
| 1366 | cson_object * cson_new_object(); |
| 1367 | |
| 1368 | /** |
| 1369 | Identical to cson_new_object() except that it creates |
| 1370 | an Array. |
| 1371 | */ |
| 1372 | cson_array * cson_new_array(); |
| 1373 | |
| 1374 | /** |
| 1375 | Identical to cson_new_object() except that it creates |
| 1376 | a String. |
| 1377 | */ |
| @@ -1403,11 +1403,11 @@ | |
| 1403 | Post-conditions: cson_value_is_array(value) will return true. |
| 1404 | |
| 1405 | @see cson_value_new_object() |
| 1406 | @see cson_value_free() |
| 1407 | */ |
| 1408 | cson_value * cson_value_new_array(); |
| 1409 | |
| 1410 | /** |
| 1411 | Frees any resources owned by v, then frees v. If v is a container |
| 1412 | type (object or array) its children are also freed (recursively). |
| 1413 | |
| 1414 |
| --- src/cson_amalgamation.h | |
| +++ src/cson_amalgamation.h | |
| @@ -1287,21 +1287,21 @@ | |
| 1287 | its string representation is "null" (without the quotes). |
| 1288 | |
| 1289 | See cson_value_new_bool() for notes regarding the returned |
| 1290 | value's memory. |
| 1291 | */ |
| 1292 | cson_value * cson_value_null( void ); |
| 1293 | |
| 1294 | /** |
| 1295 | Equivalent to cson_value_new_bool(1). |
| 1296 | */ |
| 1297 | cson_value * cson_value_true( void ); |
| 1298 | |
| 1299 | /** |
| 1300 | Equivalent to cson_value_new_bool(0). |
| 1301 | */ |
| 1302 | cson_value * cson_value_false( void ); |
| 1303 | |
| 1304 | /** |
| 1305 | Semantically the same as cson_value_new_bool(), but for integers. |
| 1306 | */ |
| 1307 | cson_value * cson_value_new_integer( cson_int_t v ); |
| @@ -1346,11 +1346,11 @@ | |
| 1346 | Post-conditions: cson_value_is_object(value) will return true. |
| 1347 | |
| 1348 | @see cson_value_new_array() |
| 1349 | @see cson_value_free() |
| 1350 | */ |
| 1351 | cson_value * cson_value_new_object( void ); |
| 1352 | |
| 1353 | /** |
| 1354 | This works like cson_value_new_object() but returns an Object |
| 1355 | handle directly. |
| 1356 | |
| @@ -1361,17 +1361,17 @@ | |
| 1361 | by passing the Value handle (NOT the Object handle) to |
| 1362 | cson_value_free() or passing ownership to a parent container. |
| 1363 | |
| 1364 | Returns NULL on error (out of memory). |
| 1365 | */ |
| 1366 | cson_object * cson_new_object( void ); |
| 1367 | |
| 1368 | /** |
| 1369 | Identical to cson_new_object() except that it creates |
| 1370 | an Array. |
| 1371 | */ |
| 1372 | cson_array * cson_new_array( void ); |
| 1373 | |
| 1374 | /** |
| 1375 | Identical to cson_new_object() except that it creates |
| 1376 | a String. |
| 1377 | */ |
| @@ -1403,11 +1403,11 @@ | |
| 1403 | Post-conditions: cson_value_is_array(value) will return true. |
| 1404 | |
| 1405 | @see cson_value_new_object() |
| 1406 | @see cson_value_free() |
| 1407 | */ |
| 1408 | cson_value * cson_value_new_array( void ); |
| 1409 | |
| 1410 | /** |
| 1411 | Frees any resources owned by v, then frees v. If v is a container |
| 1412 | type (object or array) its children are also freed (recursively). |
| 1413 | |
| 1414 |