From c2b6c27d65f09647d95bef39e2feefd767d045c1 Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Wed, 25 Aug 2010 13:54:27 -0700 Subject: [PATCH] Fix edge case in uint->string conversion. --- src/lib/_uint.rs | 2 +- src/test/run-pass/lib-int.rs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/_uint.rs b/src/lib/_uint.rs index 897f0da684e..f3a6f935706 100644 --- a/src/lib/_uint.rs +++ b/src/lib/_uint.rs @@ -61,7 +61,7 @@ fn to_str(mutable uint n, uint radix) -> str let uint r = 1u; if (n > r) { - while ((r*radix) < n) { + while ((r*radix) <= n) { r *= radix; } } diff --git a/src/test/run-pass/lib-int.rs b/src/test/run-pass/lib-int.rs index ecca40b98bb..153c3683381 100644 --- a/src/test/run-pass/lib-int.rs +++ b/src/test/run-pass/lib-int.rs @@ -8,6 +8,7 @@ fn test_to_str() { check (eq(_int.to_str(1, 10u), "1")); check (eq(_int.to_str(-1, 10u), "-1")); check (eq(_int.to_str(255, 16u), "ff")); + check (eq(_int.to_str(100, 10u), "100")); } fn main() {