From 45a7e5073ce0a59465fef0b80bb08bd4e76b7979 Mon Sep 17 00:00:00 2001
From: Mike Pall <mike>
Date: Sun, 8 Dec 2019 19:51:33 +0100
Subject: Fix tonumber("-0").

Reported by bluecheetah001.
---
 src/lj_strscan.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/lj_strscan.c b/src/lj_strscan.c
index f1e34a3d..1ae68c3f 100644
--- a/src/lj_strscan.c
+++ b/src/lj_strscan.c
@@ -445,12 +445,11 @@ StrScanFmt lj_strscan_scan(const uint8_t *p, TValue *o, uint32_t opt)
     /* Fast path for decimal 32 bit integers. */
     if (fmt == STRSCAN_INT && base == 10 &&
 	(dig < 10 || (dig == 10 && *sp <= '2' && x < 0x80000000u+neg))) {
-      int32_t y = neg ? -(int32_t)x : (int32_t)x;
       if ((opt & STRSCAN_OPT_TONUM)) {
-	o->n = (double)y;
+	o->n = neg ? -(double)x : (double)x;
 	return STRSCAN_NUM;
       } else {
-	o->i = y;
+	o->i = neg ? -(int32_t)x : (int32_t)x;
 	return STRSCAN_INT;
       }
     }
-- 
cgit v1.2.3-55-g6feb