diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-01-18 05:53:53 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-01-18 05:53:53 +0000 |
commit | 587e7ac7e7b36f80022d3959a0c6b9fa4aaf23a9 (patch) | |
tree | b723afca8ad8b0fa3f28a5192db84ff762efee52 | |
parent | b1e4030244ddbaadd22f4ca01512cb22fba1771b (diff) |
* bignum.c (rb_cstr_to_inum): should not erase all 0s, but
squeeze into one. [ruby-dev:19377]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | bignum.c | 6 |
2 files changed, 9 insertions, 2 deletions
@@ -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 @@ -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)) { |