|
|
@ -46,7 +46,7 @@ |
|
|
|
#error "Failed to determine the size of an integer" |
|
|
|
#endif |
|
|
|
|
|
|
|
static const char *global_ep; |
|
|
|
static const char *global_ep = NULL; |
|
|
|
|
|
|
|
const char *cJSON_GetErrorPtr(void) |
|
|
|
{ |
|
|
@ -80,8 +80,8 @@ static void (*cJSON_free)(void *ptr) = free; |
|
|
|
|
|
|
|
static char* cJSON_strdup(const char* str) |
|
|
|
{ |
|
|
|
size_t len; |
|
|
|
char* copy; |
|
|
|
size_t len = 0; |
|
|
|
char *copy = NULL; |
|
|
|
|
|
|
|
len = strlen(str) + 1; |
|
|
|
if (!(copy = (char*)cJSON_malloc(len))) |
|
|
@ -122,7 +122,7 @@ static cJSON *cJSON_New_Item(void) |
|
|
|
/* Delete a cJSON structure. */ |
|
|
|
void cJSON_Delete(cJSON *c) |
|
|
|
{ |
|
|
|
cJSON *next; |
|
|
|
cJSON *next = NULL; |
|
|
|
while (c) |
|
|
|
{ |
|
|
|
next = c->next; |
|
|
@ -244,8 +244,8 @@ typedef struct |
|
|
|
/* realloc printbuffer if necessary to have at least "needed" bytes more */ |
|
|
|
static char* ensure(printbuffer *p, int needed) |
|
|
|
{ |
|
|
|
char *newbuffer; |
|
|
|
int newsize; |
|
|
|
char *newbuffer = NULL; |
|
|
|
int newsize = 0; |
|
|
|
if (!p || !p->buffer) |
|
|
|
{ |
|
|
|
return NULL; |
|
|
@ -280,7 +280,7 @@ static char* ensure(printbuffer *p, int needed) |
|
|
|
/* calculate the new length of the string in a printbuffer */ |
|
|
|
static int update(const printbuffer *p) |
|
|
|
{ |
|
|
|
char *str; |
|
|
|
char *str = NULL; |
|
|
|
if (!p || !p->buffer) |
|
|
|
{ |
|
|
|
return 0; |
|
|
@ -468,11 +468,11 @@ static const char *parse_string(cJSON *item, const char *str, const char **ep) |
|
|
|
{ |
|
|
|
const char *ptr = str + 1; |
|
|
|
const char *end_ptr =str + 1; |
|
|
|
char *ptr2; |
|
|
|
char *out; |
|
|
|
char *ptr2 = NULL; |
|
|
|
char *out = NULL; |
|
|
|
int len = 0; |
|
|
|
unsigned uc; |
|
|
|
unsigned uc2; |
|
|
|
unsigned uc = 0; |
|
|
|
unsigned uc2 = 0; |
|
|
|
|
|
|
|
/* not a string! */ |
|
|
|
if (*str != '\"') |
|
|
@ -643,12 +643,12 @@ static const char *parse_string(cJSON *item, const char *str, const char **ep) |
|
|
|
/* Render the cstring provided to an escaped version that can be printed. */ |
|
|
|
static char *print_string_ptr(const char *str, printbuffer *p) |
|
|
|
{ |
|
|
|
const char *ptr; |
|
|
|
char *ptr2; |
|
|
|
char *out; |
|
|
|
const char *ptr = NULL; |
|
|
|
char *ptr2 = NULL; |
|
|
|
char *out = NULL; |
|
|
|
int len = 0; |
|
|
|
int flag = 0; |
|
|
|
unsigned char token; |
|
|
|
unsigned char token = '\0'; |
|
|
|
|
|
|
|
/* empty string */ |
|
|
|
if (!str) |
|
|
@ -1012,7 +1012,7 @@ static char *print_value(const cJSON *item, int depth, int fmt, printbuffer *p) |
|
|
|
/* Build an array from input text. */ |
|
|
|
static const char *parse_array(cJSON *item,const char *value,const char **ep) |
|
|
|
{ |
|
|
|
cJSON *child; |
|
|
|
cJSON *child = NULL; |
|
|
|
if (*value != '[') |
|
|
|
{ |
|
|
|
/* not an array! */ |
|
|
@ -1044,7 +1044,7 @@ static const char *parse_array(cJSON *item,const char *value,const char **ep) |
|
|
|
/* loop through the comma separated array elements */ |
|
|
|
while (*value == ',') |
|
|
|
{ |
|
|
|
cJSON *new_item; |
|
|
|
cJSON *new_item = NULL; |
|
|
|
if (!(new_item = cJSON_New_Item())) |
|
|
|
{ |
|
|
|
/* memory fail */ |
|
|
@ -1081,8 +1081,8 @@ static char *print_array(const cJSON *item, int depth, int fmt, printbuffer *p) |
|
|
|
{ |
|
|
|
char **entries; |
|
|
|
char *out = NULL; |
|
|
|
char *ptr; |
|
|
|
char *ret; |
|
|
|
char *ptr = NULL; |
|
|
|
char *ret = NULL; |
|
|
|
int len = 5; |
|
|
|
cJSON *child = item->child; |
|
|
|
int numentries = 0; |
|
|
@ -1245,7 +1245,7 @@ static char *print_array(const cJSON *item, int depth, int fmt, printbuffer *p) |
|
|
|
/* Build an object from the text. */ |
|
|
|
static const char *parse_object(cJSON *item, const char *value, const char **ep) |
|
|
|
{ |
|
|
|
cJSON *child; |
|
|
|
cJSON *child = NULL; |
|
|
|
if (*value != '{') |
|
|
|
{ |
|
|
|
/* not an object! */ |
|
|
@ -1292,7 +1292,7 @@ static const char *parse_object(cJSON *item, const char *value, const char **ep) |
|
|
|
|
|
|
|
while (*value == ',') |
|
|
|
{ |
|
|
|
cJSON *new_item; |
|
|
|
cJSON *new_item = NULL; |
|
|
|
if (!(new_item = cJSON_New_Item())) |
|
|
|
{ |
|
|
|
/* memory fail */ |
|
|
@ -1343,12 +1343,12 @@ static char *print_object(const cJSON *item, int depth, int fmt, printbuffer *p) |
|
|
|
char **entries = NULL; |
|
|
|
char **names = NULL; |
|
|
|
char *out = NULL; |
|
|
|
char *ptr; |
|
|
|
char *ret; |
|
|
|
char *str; |
|
|
|
char *ptr = NULL; |
|
|
|
char *ret = NULL; |
|
|
|
char *str = NULL; |
|
|
|
int len = 7; |
|
|
|
int i = 0; |
|
|
|
int j; |
|
|
|
int j = 0; |
|
|
|
cJSON *child = item->child; |
|
|
|
int numentries = 0; |
|
|
|
int fail = 0; |
|
|
@ -1979,7 +1979,7 @@ cJSON *cJSON_CreateObject(void) |
|
|
|
/* Create Arrays: */ |
|
|
|
cJSON *cJSON_CreateIntArray(const int *numbers, int count) |
|
|
|
{ |
|
|
|
int i; |
|
|
|
int i = 0; |
|
|
|
cJSON *n = NULL; |
|
|
|
cJSON *p = NULL; |
|
|
|
cJSON *a = cJSON_CreateArray(); |
|
|
@ -2007,7 +2007,7 @@ cJSON *cJSON_CreateIntArray(const int *numbers, int count) |
|
|
|
|
|
|
|
cJSON *cJSON_CreateFloatArray(const float *numbers, int count) |
|
|
|
{ |
|
|
|
int i; |
|
|
|
int i = 0; |
|
|
|
cJSON *n = NULL; |
|
|
|
cJSON *p = NULL; |
|
|
|
cJSON *a = cJSON_CreateArray(); |
|
|
@ -2035,7 +2035,7 @@ cJSON *cJSON_CreateFloatArray(const float *numbers, int count) |
|
|
|
|
|
|
|
cJSON *cJSON_CreateDoubleArray(const double *numbers, int count) |
|
|
|
{ |
|
|
|
int i; |
|
|
|
int i = 0; |
|
|
|
cJSON *n = NULL; |
|
|
|
cJSON *p = NULL; |
|
|
|
cJSON *a = cJSON_CreateArray(); |
|
|
@ -2063,7 +2063,7 @@ cJSON *cJSON_CreateDoubleArray(const double *numbers, int count) |
|
|
|
|
|
|
|
cJSON *cJSON_CreateStringArray(const char **strings, int count) |
|
|
|
{ |
|
|
|
int i; |
|
|
|
int i = 0; |
|
|
|
cJSON *n = NULL; |
|
|
|
cJSON *p = NULL; |
|
|
|
cJSON *a = cJSON_CreateArray(); |
|
|
@ -2092,10 +2092,10 @@ cJSON *cJSON_CreateStringArray(const char **strings, int count) |
|
|
|
/* Duplication */ |
|
|
|
cJSON *cJSON_Duplicate(const cJSON *item, int recurse) |
|
|
|
{ |
|
|
|
cJSON *newitem; |
|
|
|
cJSON *cptr; |
|
|
|
cJSON *newitem = NULL; |
|
|
|
cJSON *cptr = NULL; |
|
|
|
cJSON *nptr = NULL; |
|
|
|
cJSON *newchild; |
|
|
|
cJSON *newchild = NULL; |
|
|
|
|
|
|
|
/* Bail on bad ptr */ |
|
|
|
if (!item) |
|
|
|