Преглед изворни кода

reformatting: cJSON_AddItemToArray

Max Bruckner пре 8 година
родитељ
комит
c26f9b918d
1 измењених фајлова са 23 додато и 1 уклоњено
  1. 23 1
      cJSON.c

+ 23 - 1
cJSON.c

@@ -1643,7 +1643,29 @@ static cJSON *create_reference(cJSON *item)
 }
 
 /* Add item to array/object. */
-void   cJSON_AddItemToArray(cJSON *array, cJSON *item)						{cJSON *c=array->child;if (!item) return; if (!c) {array->child=item;} else {while (c && c->next) c=c->next; suffix_object(c,item);}}
+void   cJSON_AddItemToArray(cJSON *array, cJSON *item)
+{
+    cJSON *c = array->child;
+    if (!item)
+    {
+        return;
+    }
+    if (!c)
+    {
+        /* list is empty, start new one */
+        array->child = item;
+    }
+    else
+    {
+        /* append to the end */
+        while (c && c->next)
+        {
+            c = c->next;
+        }
+        suffix_object(c, item);
+    }
+}
+
 void   cJSON_AddItemToObject(cJSON *object,const char *string,cJSON *item)	{if (!item) return; if (item->string) cJSON_free(item->string);item->string=cJSON_strdup(string);cJSON_AddItemToArray(object,item);}
 void   cJSON_AddItemToObjectCS(cJSON *object,const char *string,cJSON *item)	{if (!item) return; if (!(item->type&cJSON_StringIsConst) && item->string) cJSON_free(item->string);item->string=(char*)string;item->type|=cJSON_StringIsConst;cJSON_AddItemToArray(object,item);}
 void	cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item)						{cJSON_AddItemToArray(array,create_reference(item));}