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