]> git.kaiwu.me - njs.git/commitdiff
Added njs_value_is_valid_number().
authorDmitry Volyntsev <xeioex@nginx.com>
Thu, 5 Apr 2018 11:50:45 +0000 (14:50 +0300)
committerDmitry Volyntsev <xeioex@nginx.com>
Thu, 5 Apr 2018 11:50:45 +0000 (14:50 +0300)
njs/njs_vm.c
njs/njscript.h

index 4d500acc729537774c78e16237bf2ce9a8d48dda..7d6df941d2a94bd580d8eea0fee2c688b9b6f45a 100644 (file)
@@ -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)
 {
index 0e6bd6b77e6e15b99d37ba8c85eea9d6affe9727..9ef6a392cbbb6717b2749f67fd25f30a8ef9b0a7 100644 (file)
@@ -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);