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