|  | @@ -101,7 +101,7 @@ static const char *parse_number(cJSON *item,const char *num)
 | 
	
		
			
				|  |  |  	if (*num=='-') sign=-1,num++;	/* Has sign? */
 | 
	
		
			
				|  |  |  	if (*num=='0') num++;			/* is zero */
 | 
	
		
			
				|  |  |  	if (*num>='1' && *num<='9')	do	n=(n*10.0)+(*num++ -'0');	while (*num>='0' && *num<='9');	/* Number? */
 | 
	
		
			
				|  |  | -	if (*num=='.') {num++;		do	n=(n*10.0)+(*num++ -'0'),scale--; while (*num>='0' && *num<='9');}	/* Fractional part? */
 | 
	
		
			
				|  |  | +	if (*num=='.' && num[1]>='0' && num[1]<='9') {num++;		do	n=(n*10.0)+(*num++ -'0'),scale--; while (*num>='0' && *num<='9');}	/* Fractional part? */
 | 
	
		
			
				|  |  |  	if (*num=='e' || *num=='E')		/* Exponent? */
 | 
	
		
			
				|  |  |  	{	num++;if (*num=='+') num++;	else if (*num=='-') signsubscale=-1,num++;		/* With sign? */
 | 
	
		
			
				|  |  |  		while (*num>='0' && *num<='9') subscale=(subscale*10)+(*num++ - '0');	/* Number? */
 |