|  | @@ -873,6 +873,35 @@ CJSON_PUBLIC(int) cJSONUtils_ApplyPatches(cJSON * const object, const cJSON * co
 | 
	
		
			
				|  |  |      return 0;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +CJSON_PUBLIC(int) cJSONUtils_ApplyPatchesCaseSensitive(cJSON * const object, const cJSON * const patches)
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +    const cJSON *current_patch = NULL;
 | 
	
		
			
				|  |  | +    int status = 0;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    if (!cJSON_IsArray(patches))
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        /* malformed patches. */
 | 
	
		
			
				|  |  | +        return 1;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    if (patches != NULL)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        current_patch = patches->child;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    while (current_patch != NULL)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        status = apply_patch(object, current_patch, true);
 | 
	
		
			
				|  |  | +        if (status != 0)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            return status;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        current_patch = current_patch->next;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    return 0;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  static void compose_patch(cJSON * const patches, const unsigned char * const operation, const unsigned char * const path, const unsigned char *suffix, const cJSON * const value)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |      cJSON *patch = cJSON_CreateObject();
 |