From e61cbca4bb45f3d669925a5967e7131f2b1fb31a Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Mon, 24 May 2021 12:33:43 +0000 Subject: [PATCH] Fixed implicit long to double conversion warning. error: implicit conversion from 'long' to 'double' changes value from 9223372036854775807 to 9223372036854775808. --- src/njs_number.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/njs_number.h b/src/njs_number.h index 47532085..b0f50dc4 100644 --- a/src/njs_number.h +++ b/src/njs_number.h @@ -8,7 +8,9 @@ #define _NJS_NUMBER_H_INCLUDED_ -#define NJS_MAX_LENGTH (0x1fffffffffffffLL) +#define NJS_MAX_LENGTH (0x1fffffffffffffLL) +#define NJS_INT64_DBL_MIN (-9.223372036854776e+18) /* closest to INT64_MIN */ +#define NJS_INT64_DBL_MAX (9.223372036854776e+18) /* closest to INT64_MAX */ double njs_key_to_index(const njs_value_t *value); @@ -57,10 +59,10 @@ njs_inline int64_t njs_number_to_integer(double num) { if (njs_fast_path(!isnan(num))) { - if (num < INT64_MIN) { + if (num < NJS_INT64_DBL_MIN) { return INT64_MIN; - } else if (num > INT64_MAX) { + } else if (num > NJS_INT64_DBL_MAX) { return INT64_MAX; } -- 2.47.3