From f8b105ea284c305f0a53c015153148d49e311027 Mon Sep 17 00:00:00 2001 From: "Artem S. Povalyukhin" Date: Sat, 22 Jun 2019 23:35:52 +0300 Subject: [PATCH] Fixed parseInt('-0'). --- njs/njs_number.c | 3 ++- njs/test/njs_unit_test.c | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/njs/njs_number.c b/njs/njs_number.c index 8e16f7da..2287472d 100644 --- a/njs/njs_number.c +++ b/njs/njs_number.c @@ -802,7 +802,8 @@ njs_number_parse_int(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, n = njs_number_radix_parse(&p, end, radix); if (n >= 0) { - num = minus ? -n : n; + num = n; + num = minus ? -num : num; } } diff --git a/njs/test/njs_unit_test.c b/njs/test/njs_unit_test.c index 2e0624dc..f62c6589 100644 --- a/njs/test/njs_unit_test.c +++ b/njs/test/njs_unit_test.c @@ -11744,6 +11744,9 @@ static njs_unit_test_t njs_test[] = { nxt_string("parseInt('0', 37)"), nxt_string("NaN") }, + { nxt_string("1/parseInt('-0')"), + nxt_string("-Infinity") }, + { nxt_string("parseFloat.name"), nxt_string("parseFloat") }, -- 2.47.3