bugfix: don't overwrite the number value in case of a parsing error

This commit is contained in:
Araq 2015-01-26 12:55:36 +01:00
commit b2d1889951

View file

@ -228,7 +228,7 @@ proc parseInt*(s: string, number: var int, start = 0): int {.
if (sizeof(int) <= 4) and if (sizeof(int) <= 4) and
((res < low(int)) or (res > high(int))): ((res < low(int)) or (res > high(int))):
raise newException(OverflowError, "overflow") raise newException(OverflowError, "overflow")
else: elif result != 0:
number = int(res) number = int(res)
proc parseBiggestFloat*(s: string, number: var BiggestFloat, start = 0): int {. proc parseBiggestFloat*(s: string, number: var BiggestFloat, start = 0): int {.
@ -244,6 +244,7 @@ proc parseFloat*(s: string, number: var float, start = 0): int {.
## error. ## error.
var bf: BiggestFloat var bf: BiggestFloat
result = parseBiggestFloat(s, bf, start) result = parseBiggestFloat(s, bf, start)
if result != 0:
number = bf number = bf
type type