From: Dmitry Volyntsev Date: Mon, 24 May 2021 12:33:43 +0000 (+0000) Subject: Fixed implicit long to double conversion warning. X-Git-Tag: 0.6.0~20 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=e61cbca4bb45f3d669925a5967e7131f2b1fb31a;p=njs.git Fixed implicit long to double conversion warning. error: implicit conversion from 'long' to 'double' changes value from 9223372036854775807 to 9223372036854775808. --- 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; }