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.

stephan 2018-03-12 12:10 trunk
Commit 0d3425db7b96fd437373405e5aa9226c05f6a354b0bdd4ae2130e0651d4fcda9
--- src/cson_amalgamation.c
+++ src/cson_amalgamation.c
@@ -322,11 +322,11 @@
322322
#endif
323323
324324
325325
#define true 1
326326
#define false 0
327
-#define __ -1 /* the universal error code */
327
+#define XX -1 /* the universal error code */
328328
329329
/* values chosen so that the object size is approx equal to one page (4K) */
330330
#ifndef JSON_PARSER_STACK_SIZE
331331
# define JSON_PARSER_STACK_SIZE 128
332332
#endif
@@ -414,14 +414,14 @@
414414
/*
415415
This array maps the 128 ASCII characters into character classes.
416416
The remaining Unicode characters should be mapped to C_ETC.
417417
Non-whitespace control characters are errors.
418418
*/
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,
423423
424424
C_SPACE, C_ETC, C_QUOTE, C_ETC, C_ETC, C_ETC, C_ETC, C_ETC,
425425
C_ETC, C_ETC, C_STAR, C_PLUS, C_COMMA, C_MINUS, C_POINT, C_SLASH,
426426
C_ZERO, C_DIGIT, C_DIGIT, C_DIGIT, C_DIGIT, C_DIGIT, C_DIGIT, C_DIGIT,
427427
C_DIGIT, C_DIGIT, C_COLON, C_ETC, C_ETC, C_ETC, C_ETC, C_ETC,
@@ -448,11 +448,11 @@
448448
KE, /* key */
449449
CO, /* colon */
450450
VA, /* value */
451451
AR, /* array */
452452
ST, /* string */
453
- ES, /* escape */
453
+ ESC, /* escape */
454454
U1, /* u1 */
455455
U2, /* u2 */
456456
U3, /* u3 */
457457
U4, /* u4 */
458458
MI, /* minus */
@@ -506,46 +506,46 @@
506506
negative number. A JSON text is accepted if at the end of the text the
507507
state is OK and if the mode is MODE_DONE.
508508
509509
white 1-9 ABCDF etc
510510
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},
542542
/*/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},
543543
/** 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},
547547
};
548548
549549
550550
/*
551551
These modes can be pushed on the stack.
@@ -1050,11 +1050,11 @@
10501050
}
10511051
if (next_char >= 128) {
10521052
next_class = C_ETC;
10531053
} else {
10541054
next_class = ascii_class[next_char];
1055
- if (next_class <= __) {
1055
+ if (next_class <= XX) {
10561056
set_error(jc);
10571057
return false;
10581058
}
10591059
}
10601060
@@ -1090,11 +1090,11 @@
10901090
}
10911091
break;
10921092
/* escaped char */
10931093
case EX:
10941094
jc->escaped = 1;
1095
- jc->state = ES;
1095
+ jc->state = ESC;
10961096
break;
10971097
/* integer detected by minus */
10981098
case MX:
10991099
jc->type = JSON_T_INTEGER;
11001100
jc->state = MI;
@@ -1401,10 +1401,14 @@
14011401
config->malloc = malloc;
14021402
config->free = free;
14031403
}
14041404
}
14051405
1406
+#undef XX
1407
+#undef COUNTOF
1408
+#undef parse_buffer_clear
1409
+#undef parse_buffer_pop_back_char
14061410
/* end file parser/JSON_parser.c */
14071411
/* begin file ./cson.c */
14081412
#include <assert.h>
14091413
#include <stdlib.h> /* malloc()/free() */
14101414
#include <string.h>
14111415
--- 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
--- src/cson_amalgamation.h
+++ src/cson_amalgamation.h
@@ -1287,21 +1287,21 @@
12871287
its string representation is "null" (without the quotes).
12881288
12891289
See cson_value_new_bool() for notes regarding the returned
12901290
value's memory.
12911291
*/
1292
-cson_value * cson_value_null();
1292
+cson_value * cson_value_null( void );
12931293
12941294
/**
12951295
Equivalent to cson_value_new_bool(1).
12961296
*/
1297
-cson_value * cson_value_true();
1297
+cson_value * cson_value_true( void );
12981298
12991299
/**
13001300
Equivalent to cson_value_new_bool(0).
13011301
*/
1302
-cson_value * cson_value_false();
1302
+cson_value * cson_value_false( void );
13031303
13041304
/**
13051305
Semantically the same as cson_value_new_bool(), but for integers.
13061306
*/
13071307
cson_value * cson_value_new_integer( cson_int_t v );
@@ -1346,11 +1346,11 @@
13461346
Post-conditions: cson_value_is_object(value) will return true.
13471347
13481348
@see cson_value_new_array()
13491349
@see cson_value_free()
13501350
*/
1351
-cson_value * cson_value_new_object();
1351
+cson_value * cson_value_new_object( void );
13521352
13531353
/**
13541354
This works like cson_value_new_object() but returns an Object
13551355
handle directly.
13561356
@@ -1361,17 +1361,17 @@
13611361
by passing the Value handle (NOT the Object handle) to
13621362
cson_value_free() or passing ownership to a parent container.
13631363
13641364
Returns NULL on error (out of memory).
13651365
*/
1366
-cson_object * cson_new_object();
1366
+cson_object * cson_new_object( void );
13671367
13681368
/**
13691369
Identical to cson_new_object() except that it creates
13701370
an Array.
13711371
*/
1372
-cson_array * cson_new_array();
1372
+cson_array * cson_new_array( void );
13731373
13741374
/**
13751375
Identical to cson_new_object() except that it creates
13761376
a String.
13771377
*/
@@ -1403,11 +1403,11 @@
14031403
Post-conditions: cson_value_is_array(value) will return true.
14041404
14051405
@see cson_value_new_object()
14061406
@see cson_value_free()
14071407
*/
1408
-cson_value * cson_value_new_array();
1408
+cson_value * cson_value_new_array( void );
14091409
14101410
/**
14111411
Frees any resources owned by v, then frees v. If v is a container
14121412
type (object or array) its children are also freed (recursively).
14131413
14141414
--- 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

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button