From: Dmitry Volyntsev Date: Thu, 5 Apr 2018 11:50:45 +0000 (+0300) Subject: Added njs_value_is_valid_number(). X-Git-Tag: 0.2.1~37 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=50d3be7b4099c7d6dae7820ff43f6c4caa6657e9;p=njs.git Added njs_value_is_valid_number(). --- diff --git a/njs/njs_vm.c b/njs/njs_vm.c index 4d500acc..7d6df941 100644 --- a/njs/njs_vm.c +++ b/njs/njs_vm.c @@ -3750,6 +3750,15 @@ njs_value_is_number(njs_value_t *value) } +nxt_noinline nxt_int_t +njs_value_is_valid_number(njs_value_t *value) +{ + return njs_is_number(value) + && !isnan(value->data.u.number) + && !isinf(value->data.u.number); +} + + nxt_noinline nxt_int_t njs_value_is_string(njs_value_t *value) { diff --git a/njs/njscript.h b/njs/njscript.h index 0e6bd6b7..9ef6a392 100644 --- a/njs/njscript.h +++ b/njs/njscript.h @@ -191,6 +191,7 @@ NXT_EXPORT njs_function_t *njs_value_function(njs_value_t *value); NXT_EXPORT nxt_int_t njs_value_is_void(njs_value_t *value); NXT_EXPORT nxt_int_t njs_value_is_boolean(njs_value_t *value); NXT_EXPORT nxt_int_t njs_value_is_number(njs_value_t *value); +NXT_EXPORT nxt_int_t njs_value_is_valid_number(njs_value_t *value); NXT_EXPORT nxt_int_t njs_value_is_string(njs_value_t *value); NXT_EXPORT nxt_int_t njs_value_is_object(njs_value_t *value); NXT_EXPORT nxt_int_t njs_value_is_function(njs_value_t *value);