bugfix: don't overwrite the number value in case of a parsing error
This commit is contained in:
parent
efb5ec3e73
commit
b2d1889951
1 changed files with 3 additions and 2 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue