Selaa lähdekoodia

refactor cJSONUtils_ApplyPatches

Max Bruckner 8 vuotta sitten
vanhempi
commit
bde341edd8
2 muutettua tiedostoa jossa 13 lisäystä ja 9 poistoa
  1. 12 8
      cJSON_Utils.c
  2. 1 1
      cJSON_Utils.h

+ 12 - 8
cJSON_Utils.c

@@ -814,26 +814,30 @@ cleanup:
     return status;
 }
 
-CJSON_PUBLIC(int) cJSONUtils_ApplyPatches(cJSON *object, cJSON *patches)
+CJSON_PUBLIC(int) cJSONUtils_ApplyPatches(cJSON * const object, const cJSON * const patches)
 {
-    int err = 0;
+    const cJSON *current_patch = NULL;
+    int status = 0;
 
     if (!cJSON_IsArray(patches))
     {
         /* malformed patches. */
         return 1;
     }
-    if (patches)
+
+    if (patches != NULL)
     {
-        patches = patches->child;
+        current_patch = patches->child;
     }
-    while (patches)
+
+    while (current_patch != NULL)
     {
-        if ((err = cJSONUtils_ApplyPatch(object, patches)))
+        status = cJSONUtils_ApplyPatch(object, current_patch);
+        if (status != 0)
         {
-            return err;
+            return status;
         }
-        patches = patches->next;
+        current_patch = current_patch->next;
     }
 
     return 0;

+ 1 - 1
cJSON_Utils.h

@@ -30,7 +30,7 @@ CJSON_PUBLIC(cJSON *) cJSONUtils_GeneratePatches(cJSON *from, cJSON *to);
 /* Utility for generating patch array entries. */
 CJSON_PUBLIC(void) cJSONUtils_AddPatchToArray(cJSON *array, const char *op, const char *path, cJSON *val);
 /* Returns 0 for success. */
-CJSON_PUBLIC(int) cJSONUtils_ApplyPatches(cJSON *object, cJSON *patches);
+CJSON_PUBLIC(int) cJSONUtils_ApplyPatches(cJSON * const object, const cJSON * const patches);
 
 /*
 // Note that ApplyPatches is NOT atomic on failure. To implement an atomic ApplyPatches, use: