فهرست منبع

get rid of isnormal test!!

Dave Gamble 9 سال پیش
والد
کامیت
2fe50bd557
1فایلهای تغییر یافته به همراه1 افزوده شده و 1 حذف شده
  1. 1 1
      cJSON.c

+ 1 - 1
cJSON.c

@@ -166,7 +166,7 @@ static char *print_number(cJSON *item,printbuffer *p)
 		else	str=(char*)cJSON_malloc(64);	/* This is a nice tradeoff. */
 		else	str=(char*)cJSON_malloc(64);	/* This is a nice tradeoff. */
 		if (str)
 		if (str)
 		{
 		{
-			if (!isnormal(d))											sprintf(str,"null");
+			if (d*0!=0)													sprintf(str,"null");	/* This checks for NaN and Infinity */
 			else if (fabs(floor(d)-d)<=DBL_EPSILON && fabs(d)<1.0e60)	sprintf(str,"%.0f",d);
 			else if (fabs(floor(d)-d)<=DBL_EPSILON && fabs(d)<1.0e60)	sprintf(str,"%.0f",d);
 			else if (fabs(d)<1.0e-6 || fabs(d)>1.0e9)					sprintf(str,"%e",d);
 			else if (fabs(d)<1.0e-6 || fabs(d)>1.0e9)					sprintf(str,"%e",d);
 			else														sprintf(str,"%f",d);
 			else														sprintf(str,"%f",d);