From 6dd1687015cf5329dc7e7f5e29764f6f68060f3f Mon Sep 17 00:00:00 2001 From: Jussi Kivilinna <jussi.kivilinna@haltian.com> Date: Thu, 15 Oct 2015 10:30:02 +0300 Subject: [PATCH] netutils/cJSON: parser: use copysign to set number sign-bit Signed-off-by: Jussi Kivilinna <jussi.kivilinna@haltian.com> --- apps/netutils/json/cJSON_stream_parse.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/netutils/json/cJSON_stream_parse.c b/apps/netutils/json/cJSON_stream_parse.c index 75e61711..c655de0e 100644 --- a/apps/netutils/json/cJSON_stream_parse.c +++ b/apps/netutils/json/cJSON_stream_parse.c @@ -147,7 +147,7 @@ static cJSON_instream *stream_parse_number(cJSON *item, cJSON_instream *in) if (stream_peek(in) != '.' && stream_peek(in) != 'e' && stream_peek(in) != 'E') { - n = sign * 0.0; + n = copysign(0.0, sign); item->valuedouble = n; item->valueint = (int)n; item->type = cJSON_Number; @@ -211,7 +211,7 @@ static cJSON_instream *stream_parse_number(cJSON *item, cJSON_instream *in) /* number = +/- number.fraction * 10^+/-exponent */ - n = sign * n * pow(10.0, (scale + subscale * signsubscale)); + n = copysign(n * pow(10.0, (scale + subscale * signsubscale)), sign); item->valuedouble = n; item->valueint = (int)n; item->type = cJSON_Number; -- GitLab