summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--bignum.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index cd1193a..f45382c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Jan 18 14:53:49 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net>
+
+ * bignum.c (rb_cstr_to_inum): should not erase all 0s, but
+ squeeze into one. [ruby-dev:19377]
+
Fri Jan 17 03:33:42 2003 Akinori MUSHA <knu@iDaemons.org>
* sprintf.c (rb_f_sprintf): Fix a bug caused by an uninitialized
diff --git a/bignum.c b/bignum.c
index c010bf7..16cb8e1 100644
--- a/bignum.c
+++ b/bignum.c
@@ -392,8 +392,10 @@ rb_cstr_to_inum(str, base, badcheck)
}
break;
}
- while (*str == '0') str++; /* squeeze preceeding 0s */
-
+ if (*str == '0') { /* squeeze preceeding 0s */
+ while (*++str == '0');
+ --str;
+ }
len *= strlen(str)*sizeof(char);
if (len <= (sizeof(VALUE)*CHAR_BIT)) {