aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2019-12-08 19:52:56 +0100
committerMike Pall <mike>2019-12-08 19:52:56 +0100
commit2a7c200dc2f7c2b0fd29effc4cdc7bdae19d278d (patch)
treebddeda4338b25edbbc7ab9f70d14506fa1d79efb /src
parent1d9a337de6630746e3e8580aa855c0376c67d356 (diff)
parent45a7e5073ce0a59465fef0b80bb08bd4e76b7979 (diff)
downloadluajit-2a7c200dc2f7c2b0fd29effc4cdc7bdae19d278d.tar.gz
luajit-2a7c200dc2f7c2b0fd29effc4cdc7bdae19d278d.tar.bz2
luajit-2a7c200dc2f7c2b0fd29effc4cdc7bdae19d278d.zip
Merge branch 'master' into v2.1
Diffstat (limited to 'src')
-rw-r--r--src/lj_strscan.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/lj_strscan.c b/src/lj_strscan.c
index f5f35c96..401798a0 100644
--- a/src/lj_strscan.c
+++ b/src/lj_strscan.c
@@ -492,12 +492,11 @@ StrScanFmt lj_strscan_scan(const uint8_t *p, TValue *o, uint32_t opt)
492 /* Fast path for decimal 32 bit integers. */ 492 /* Fast path for decimal 32 bit integers. */
493 if (fmt == STRSCAN_INT && base == 10 && 493 if (fmt == STRSCAN_INT && base == 10 &&
494 (dig < 10 || (dig == 10 && *sp <= '2' && x < 0x80000000u+neg))) { 494 (dig < 10 || (dig == 10 && *sp <= '2' && x < 0x80000000u+neg))) {
495 int32_t y = neg ? -(int32_t)x : (int32_t)x;
496 if ((opt & STRSCAN_OPT_TONUM)) { 495 if ((opt & STRSCAN_OPT_TONUM)) {
497 o->n = (double)y; 496 o->n = neg ? -(double)x : (double)x;
498 return STRSCAN_NUM; 497 return STRSCAN_NUM;
499 } else { 498 } else {
500 o->i = y; 499 o->i = neg ? -(int32_t)x : (int32_t)x;
501 return STRSCAN_INT; 500 return STRSCAN_INT;
502 } 501 }
503 } 502 }