|  | @@ -39,11 +39,26 @@ const char *cJSON_GetErrorPtr(void)
 | 
	
		
			
				|  |  |      return global_ep;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -static int cJSON_strcasecmp(const char *s1,const char *s2)
 | 
	
		
			
				|  |  | +/* case insensitive strcmp */
 | 
	
		
			
				|  |  | +static int cJSON_strcasecmp(const char *s1, const char *s2)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | -	if (!s1) return (s1==s2)?0:1;if (!s2) return 1;
 | 
	
		
			
				|  |  | -	for(; tolower(*s1) == tolower(*s2); ++s1, ++s2)	if(*s1 == 0)	return 0;
 | 
	
		
			
				|  |  | -	return tolower(*(const unsigned char *)s1) - tolower(*(const unsigned char *)s2);
 | 
	
		
			
				|  |  | +    if (!s1)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        return (s1 == s2) ? 0 : 1; /* both NULL? */
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    if (!s2)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        return 1;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    for(; tolower(*s1) == tolower(*s2); ++s1, ++s2)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        if (*s1 == 0)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            return 0;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    return tolower(*(const unsigned char *)s1) - tolower(*(const unsigned char *)s2);
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  static void *(*cJSON_malloc)(size_t sz) = malloc;
 |