diff options
| author | Mike Pall <mike> | 2019-12-08 19:52:56 +0100 |
|---|---|---|
| committer | Mike Pall <mike> | 2019-12-08 19:52:56 +0100 |
| commit | 2a7c200dc2f7c2b0fd29effc4cdc7bdae19d278d (patch) | |
| tree | bddeda4338b25edbbc7ab9f70d14506fa1d79efb | |
| parent | 1d9a337de6630746e3e8580aa855c0376c67d356 (diff) | |
| parent | 45a7e5073ce0a59465fef0b80bb08bd4e76b7979 (diff) | |
| download | luajit-2a7c200dc2f7c2b0fd29effc4cdc7bdae19d278d.tar.gz luajit-2a7c200dc2f7c2b0fd29effc4cdc7bdae19d278d.tar.bz2 luajit-2a7c200dc2f7c2b0fd29effc4cdc7bdae19d278d.zip | |
Merge branch 'master' into v2.1
| -rw-r--r-- | src/lj_strscan.c | 5 |
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 | } |
