|
@@ -123,6 +123,7 @@ typedef struct internal_configuration
|
|
size_t buffer_size;
|
|
size_t buffer_size;
|
|
cJSON_bool format;
|
|
cJSON_bool format;
|
|
cJSON_bool allow_data_after_json;
|
|
cJSON_bool allow_data_after_json;
|
|
|
|
+ cJSON_bool case_sensitive;
|
|
void *(*allocate)(size_t size);
|
|
void *(*allocate)(size_t size);
|
|
void (*deallocate)(void *pointer);
|
|
void (*deallocate)(void *pointer);
|
|
void *(*reallocate)(void *pointer, size_t size);
|
|
void *(*reallocate)(void *pointer, size_t size);
|
|
@@ -152,6 +153,7 @@ static internal_configuration global_configuration = {
|
|
256, /* default buffer size */
|
|
256, /* default buffer size */
|
|
true, /* enable formatting by default */
|
|
true, /* enable formatting by default */
|
|
true, /* allow data after the JSON by default */
|
|
true, /* allow data after the JSON by default */
|
|
|
|
+ true, /* case sensitive by default */
|
|
internal_malloc,
|
|
internal_malloc,
|
|
internal_free,
|
|
internal_free,
|
|
internal_realloc
|
|
internal_realloc
|
|
@@ -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 } };
|
|
|
|
|
|
+ parse_buffer buffer = { 0, 0, 0, 0, { 0, 0, 0, 0, 0, 0, 0 } };
|
|
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 } };
|
|
|
|
|
|
+ printbuffer p = { 0, 0, 0, 0, 0, { 0, 0, 0, 0, 0, 0, 0 } };
|
|
|
|
|
|
if ((length < 0) || (buffer == NULL))
|
|
if ((length < 0) || (buffer == NULL))
|
|
{
|
|
{
|