diff --git a/cJSON_Utils.c b/cJSON_Utils.c index 04c9819..8a1e14a 100644 --- a/cJSON_Utils.c +++ b/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; diff --git a/cJSON_Utils.h b/cJSON_Utils.h index 8952645..572ab93 100644 --- a/cJSON_Utils.h +++ b/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: