From 73044b3455b7586557eabbd249023d0a363401d0 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Wed, 27 Apr 2011 11:45:53 -0700 Subject: stdlib: Fix a crazy underflow bug in _uint.parse_buf. Oops. --- src/lib/_uint.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/lib') diff --git a/src/lib/_uint.rs b/src/lib/_uint.rs index f6686b5d..ce01dabf 100644 --- a/src/lib/_uint.rs +++ b/src/lib/_uint.rs @@ -37,12 +37,11 @@ fn parse_buf(vec[u8] buf, uint radix) -> uint { auto i = _vec.len[u8](buf) - 1u; auto power = 1u; auto n = 0u; - while (i >= 0u) { + while (true) { n += (((buf.(i)) - ('0' as u8)) as uint) * power; power *= radix; - i -= 1u; + if (i == 0u) { ret n; } } - ret n; } fn to_str(uint num, uint radix) -> str -- cgit v1.2.3