|
@@ -147,15 +147,17 @@ static void *internal_realloc(void *pointer, size_t size)
|
|
#define internal_realloc realloc
|
|
#define internal_realloc realloc
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-static internal_configuration global_configuration = {
|
|
|
|
- 256, /* default buffer size */
|
|
|
|
- true, /* enable formatting by default */
|
|
|
|
- true, /* allow data after the JSON by default */
|
|
|
|
- true, /* case sensitive by default */
|
|
|
|
- internal_malloc,
|
|
|
|
- internal_free,
|
|
|
|
- internal_realloc
|
|
|
|
-};
|
|
|
|
|
|
+#define default_configuration {\
|
|
|
|
+ 256, /* default buffer size */\
|
|
|
|
+ true, /* enable formatting by default */\
|
|
|
|
+ true, /* allow data after the JSON by default */\
|
|
|
|
+ true, /* case sensitive by default */\
|
|
|
|
+ internal_malloc,\
|
|
|
|
+ internal_free,\
|
|
|
|
+ internal_realloc\
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static internal_configuration global_configuration = default_configuration;
|
|
|
|
|
|
static unsigned char* custom_strdup(const unsigned char* string, const internal_configuration * const configuration)
|
|
static unsigned char* custom_strdup(const unsigned char* string, const internal_configuration * const configuration)
|
|
{
|
|
{
|
|
@@ -1011,7 +1013,7 @@ static parse_buffer *skip_utf8_bom(parse_buffer * const buffer)
|
|
/* Parse an object - create a new root, and populate. */
|
|
/* Parse an object - create a new root, and populate. */
|
|
static cJSON *parse(const char * const json, const internal_configuration * const configuration, size_t *end_position)
|
|
static cJSON *parse(const char * const json, const internal_configuration * const configuration, size_t *end_position)
|
|
{
|
|
{
|
|
- parse_buffer buffer = { 0, 0, 0, 0, { 0, 0, 0, 0, 0, 0, 0 } };
|
|
|
|
|
|
+ parse_buffer buffer = { 0, 0, 0, 0, default_configuration };
|
|
cJSON *item = NULL;
|
|
cJSON *item = NULL;
|
|
|
|
|
|
/* reset global error position */
|
|
/* reset global error position */
|
|
@@ -1201,7 +1203,7 @@ CJSON_PUBLIC(char *) cJSON_PrintBuffered(const cJSON *item, int prebuffer, cJSON
|
|
|
|
|
|
CJSON_PUBLIC(cJSON_bool) cJSON_PrintPreallocated(cJSON *item, char *buffer, const int length, const cJSON_bool format)
|
|
CJSON_PUBLIC(cJSON_bool) cJSON_PrintPreallocated(cJSON *item, char *buffer, const int length, const cJSON_bool format)
|
|
{
|
|
{
|
|
- printbuffer p = { 0, 0, 0, 0, 0, { 0, 0, 0, 0, 0, 0, 0 } };
|
|
|
|
|
|
+ printbuffer p = { 0, 0, 0, 0, 0, default_configuration};
|
|
|
|
|
|
if ((length < 0) || (buffer == NULL))
|
|
if ((length < 0) || (buffer == NULL))
|
|
{
|
|
{
|