From b2d18899515809c508d656efdd800a94c7118bd9 Mon Sep 17 00:00:00 2001 From: Araq <rumpf_a@web.de> Date: Mon, 26 Jan 2015 12:55:36 +0100 Subject: bugfix: don't overwrite the number value in case of a parsing error --- lib/pure/parseutils.nim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/pure/parseutils.nim b/lib/pure/parseutils.nim index 1efb141fc..9844201fe 100644 --- a/lib/pure/parseutils.nim +++ b/lib/pure/parseutils.nim @@ -228,7 +228,7 @@ proc parseInt*(s: string, number: var int, start = 0): int {. if (sizeof(int) <= 4) and ((res < low(int)) or (res > high(int))): raise newException(OverflowError, "overflow") - else: + elif result != 0: number = int(res) proc parseBiggestFloat*(s: string, number: var BiggestFloat, start = 0): int {. @@ -244,7 +244,8 @@ proc parseFloat*(s: string, number: var float, start = 0): int {. ## error. var bf: BiggestFloat result = parseBiggestFloat(s, bf, start) - number = bf + if result != 0: + number = bf type InterpolatedKind* = enum ## describes for `interpolatedFragments` -- cgit 1.4.1-2-gfad0