reformatting: cJSON_Delete

This commit is contained in:
Max Bruckner
2016-09-27 23:42:50 +07:00
parent 55488f66f6
commit 46cfa68a2b

29
cJSON.c
View File

@@ -108,16 +108,25 @@ static cJSON *cJSON_New_Item(void)
/* Delete a cJSON structure. */ /* Delete a cJSON structure. */
void cJSON_Delete(cJSON *c) void cJSON_Delete(cJSON *c)
{ {
cJSON *next; cJSON *next;
while (c) while (c)
{ {
next=c->next; next = c->next;
if (!(c->type&cJSON_IsReference) && c->child) cJSON_Delete(c->child); if (!(c->type & cJSON_IsReference) && c->child)
if (!(c->type&cJSON_IsReference) && c->valuestring) cJSON_free(c->valuestring); {
if (!(c->type&cJSON_StringIsConst) && c->string) cJSON_free(c->string); cJSON_Delete(c->child);
cJSON_free(c); }
c=next; if (!(c->type & cJSON_IsReference) && c->valuestring)
} {
cJSON_free(c->valuestring);
}
if (!(c->type & cJSON_StringIsConst) && c->string)
{
cJSON_free(c->string);
}
cJSON_free(c);
c = next;
}
} }
/* Parse the input text to generate a number, and populate the result into item. */ /* Parse the input text to generate a number, and populate the result into item. */