fixing problem that isinf(-Inf) can be 1 or -1
diff --git a/json_object.c b/json_object.c
index e12c440..b63faa4 100644
--- a/json_object.c
+++ b/json_object.c
@@ -575,10 +575,11 @@
      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);