]> granicus.if.org Git - json-c/commitdiff
fixing problem that isinf(-Inf) can be 1 or -1
authorTaneli Mielikainen <taneli.mielikainen@nokia.com>
Sat, 3 Aug 2013 21:21:58 +0000 (00:21 +0300)
committerTaneli Mielikainen <taneli.mielikainen@nokia.com>
Sat, 3 Aug 2013 21:21:58 +0000 (00:21 +0300)
json_object.c

index e12c4407cbc1cb52bb3c81449957fdefa8403e31..b63faa48d4d2b40fdadc282b0c4652eedfccac91 100644 (file)
@@ -575,10 +575,11 @@ static int json_object_double_to_json_string(struct json_object* jso,
      how to handle these cases as strings */
   if(isnan(jso->o.c_double))
     size = snprintf(buf, 128, "NaN");
-  else if(isinf(jso->o.c_double) == 1)
-    size = snprintf(buf, 128, "Infinity");
-  else if(isinf(jso->o.c_double) == -1)
-    size = snprintf(buf, 128, "-Infinity");
+  else if(isinf(jso->o.c_double))
+    if(jso->o.c_double > 0)
+      size = snprintf(buf, 128, "Infinity");
+    else
+      size = snprintf(buf, 128, "-Infinity");
   else
     size = snprintf(buf, 128, "%f", jso->o.c_double);