diff options
author | Mike Pall <mike> | 2013-04-29 14:29:11 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2013-04-29 14:29:11 +0200 |
commit | 633d91cea5ac07de8ae3712f043118029ad62657 (patch) | |
tree | e96eda0c73beb865e66cca2f4a01e051818ef41a | |
parent | 87993a601d2ebce6597180040d2e97d74d6cdcc4 (diff) | |
parent | 09aeca6abf40b246b47e7d83851661294946785c (diff) | |
download | luajit-633d91cea5ac07de8ae3712f043118029ad62657.tar.gz luajit-633d91cea5ac07de8ae3712f043118029ad62657.tar.bz2 luajit-633d91cea5ac07de8ae3712f043118029ad62657.zip |
Merge branch 'master' into v2.1
-rw-r--r-- | src/lj_strscan.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lj_strscan.c b/src/lj_strscan.c index 8d41a3e2..a71b86a2 100644 --- a/src/lj_strscan.c +++ b/src/lj_strscan.c | |||
@@ -187,7 +187,7 @@ static StrScanFmt strscan_dec(const uint8_t *p, TValue *o, | |||
187 | if (dig) { | 187 | if (dig) { |
188 | uint32_t i = dig; | 188 | uint32_t i = dig; |
189 | if (i > STRSCAN_MAXDIG) { | 189 | if (i > STRSCAN_MAXDIG) { |
190 | ex10 -= (int32_t)(i - STRSCAN_MAXDIG); | 190 | ex10 += (int32_t)(i - STRSCAN_MAXDIG); |
191 | i = STRSCAN_MAXDIG; | 191 | i = STRSCAN_MAXDIG; |
192 | } | 192 | } |
193 | /* Scan unaligned leading digit. */ | 193 | /* Scan unaligned leading digit. */ |
@@ -280,9 +280,10 @@ static StrScanFmt strscan_dec(const uint8_t *p, TValue *o, | |||
280 | if (d == 0 && i == DPREV(lo)) lo = i; | 280 | if (d == 0 && i == DPREV(lo)) lo = i; |
281 | } | 281 | } |
282 | if (cy) { | 282 | if (cy) { |
283 | hi = DPREV(hi); | ||
283 | if (xi[DPREV(lo)] == 0) lo = DPREV(lo); | 284 | if (xi[DPREV(lo)] == 0) lo = DPREV(lo); |
284 | else if (hi == lo) { lo = DPREV(lo); xi[DPREV(lo)] |= xi[lo]; } | 285 | else if (hi == lo) { lo = DPREV(lo); xi[DPREV(lo)] |= xi[lo]; } |
285 | hi = DPREV(hi); xi[hi] = (uint8_t)cy; idig++; | 286 | xi[hi] = (uint8_t)cy; idig++; |
286 | } | 287 | } |
287 | } | 288 | } |
288 | 289 | ||