|  | @@ -23,14 +23,18 @@
 | 
	
		
			
				|  |  |  #include "cJSON.h"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /* Implement RFC6901 (https://tools.ietf.org/html/rfc6901) JSON Pointer spec. */
 | 
	
		
			
				|  |  | -CJSON_PUBLIC(cJSON *) cJSONUtils_GetPointer(cJSON *object, const char *pointer);
 | 
	
		
			
				|  |  | +CJSON_PUBLIC(cJSON *) cJSONUtils_GetPointer(cJSON * const object, const char *pointer);
 | 
	
		
			
				|  |  | +CJSON_PUBLIC(cJSON *) cJSONUtils_GetPointerCaseSensitive(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);
 | 
	
		
			
				|  |  | +CJSON_PUBLIC(cJSON *) cJSONUtils_GeneratePatchesCaseSensitive(cJSON * const from, cJSON * const to);
 | 
	
		
			
				|  |  |  /* Utility for generating patch array entries. */
 | 
	
		
			
				|  |  | -CJSON_PUBLIC(void) cJSONUtils_AddPatchToArray(cJSON *array, const char *op, const char *path, cJSON *val);
 | 
	
		
			
				|  |  | +CJSON_PUBLIC(void) cJSONUtils_AddPatchToArray(cJSON * const array, const char * const operation, const char * const path, const cJSON * const value);
 | 
	
		
			
				|  |  |  /* 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);
 | 
	
		
			
				|  |  | +CJSON_PUBLIC(int) cJSONUtils_ApplyPatchesCaseSensitive(cJSON * const object, const cJSON * const patches);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /*
 | 
	
		
			
				|  |  |  // Note that ApplyPatches is NOT atomic on failure. To implement an atomic ApplyPatches, use:
 | 
	
	
		
			
				|  | @@ -55,12 +59,16 @@ CJSON_PUBLIC(int) cJSONUtils_ApplyPatches(cJSON *object, cJSON *patches);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /* Implement RFC7386 (https://tools.ietf.org/html/rfc7396) JSON Merge Patch spec. */
 | 
	
		
			
				|  |  |  /* target will be modified by patch. return value is new ptr for target. */
 | 
	
		
			
				|  |  | -CJSON_PUBLIC(cJSON *) cJSONUtils_MergePatch(cJSON *target, cJSON *patch);
 | 
	
		
			
				|  |  | +CJSON_PUBLIC(cJSON *) cJSONUtils_MergePatch(cJSON *target, const cJSON * const patch);
 | 
	
		
			
				|  |  | +CJSON_PUBLIC(cJSON *) cJSONUtils_MergePatchCaseSensitive(cJSON *target, const cJSON * const patch);
 | 
	
		
			
				|  |  |  /* generates a patch to move from -> to */
 | 
	
		
			
				|  |  | -CJSON_PUBLIC(cJSON *) cJSONUtils_GenerateMergePatch(cJSON *from, cJSON *to);
 | 
	
		
			
				|  |  | +/* NOTE: This modifies objects in 'from' and 'to' by sorting the elements by their key */
 | 
	
		
			
				|  |  | +CJSON_PUBLIC(cJSON *) cJSONUtils_GenerateMergePatch(cJSON * const from, cJSON * const to);
 | 
	
		
			
				|  |  | +CJSON_PUBLIC(cJSON *) cJSONUtils_GenerateMergePatchCaseSensitive(cJSON * const from, cJSON * const to);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /* Given a root object and a target object, construct a pointer from one to the other. */
 | 
	
		
			
				|  |  | -CJSON_PUBLIC(char *) cJSONUtils_FindPointerFromObjectTo(cJSON *object, cJSON *target);
 | 
	
		
			
				|  |  | +CJSON_PUBLIC(char *) cJSONUtils_FindPointerFromObjectTo(const cJSON * const object, const cJSON * const target);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /* Sorts the members of the object into alphabetical order. */
 | 
	
		
			
				|  |  | -CJSON_PUBLIC(void) cJSONUtils_SortObject(cJSON *object);
 | 
	
		
			
				|  |  | +CJSON_PUBLIC(void) cJSONUtils_SortObject(cJSON * const object);
 | 
	
		
			
				|  |  | +CJSON_PUBLIC(void) cJSONUtils_SortObjectCaseSensitive(cJSON * const object);
 |