diff --git a/cJSON_Utils.c b/cJSON_Utils.c index 575d9fe..032c285 100644 --- a/cJSON_Utils.c +++ b/cJSON_Utils.c @@ -1021,7 +1021,7 @@ static void cJSONUtils_CompareToPatch(cJSON * const patches, const unsigned char } } -CJSON_PUBLIC(cJSON *) cJSONUtils_GeneratePatches(cJSON *from, cJSON *to) +CJSON_PUBLIC(cJSON *) cJSONUtils_GeneratePatches(cJSON * const from, cJSON * const to) { cJSON *patches = cJSON_CreateArray(); cJSONUtils_CompareToPatch(patches, (const unsigned char*)"", from, to); diff --git a/cJSON_Utils.h b/cJSON_Utils.h index 0d90cd6..88898ee 100644 --- a/cJSON_Utils.h +++ b/cJSON_Utils.h @@ -26,7 +26,8 @@ CJSON_PUBLIC(cJSON *) cJSONUtils_GetPointer(cJSON * const object, const char *pointer); /* Implement RFC6902 (https://tools.ietf.org/html/rfc6902) JSON Patch spec. */ -CJSON_PUBLIC(cJSON *) cJSONUtils_GeneratePatches(cJSON *from, cJSON *to); +/* NOTE: This modifies objects in 'from' and 'to' by sorting the elements by their key */ +CJSON_PUBLIC(cJSON *) cJSONUtils_GeneratePatches(cJSON * const from, cJSON * const to); /* Utility for generating patch array entries. */ CJSON_PUBLIC(void) cJSONUtils_AddPatchToArray(cJSON * const array, const char * const operation, const char * const path, const cJSON * const value); /* Returns 0 for success. */