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 @@ 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);