diff options
author | tadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-18 11:55:34 +0000 |
---|---|---|
committer | tadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-18 11:55:34 +0000 |
commit | 2630ad09bd6f959b0379adfba84a6c7b4e4958ff (patch) | |
tree | c8455070a6042afe8b6d791391bfc1911747133b | |
parent | 1f225be2e51f0ff7376846d5631fd6287eb03d14 (diff) |
* bignum.c (rb_cstr_to_inum): should accept underscores of
sequence of two or more when unchecked mode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | bignum.c | 3 | ||||
-rw-r--r-- | test/ruby/test_string.rb | 2 |
3 files changed, 8 insertions, 2 deletions
@@ -1,3 +1,8 @@ +Sun Nov 18 20:46:08 2012 Tadayoshi Funaba <tadf@dotrb.org> + + * bignum.c (rb_cstr_to_inum): should accept underscores of + sequence of two or more when unchecked mode. + Sun Nov 18 16:33:00 2012 Naohisa Goto <ngotogenome@gmail.com> * configure.in, Makefile.in, common.mk: support DTrace on Solaris 10, @@ -733,7 +733,8 @@ rb_cstr_to_inum(const char *str, int base, int badcheck) if (badcheck) goto bad; break; } - nondigit = (char) c; + if (badcheck) + nondigit = (char) c; continue; } else if ((c = conv_digit(c)) < 0) { diff --git a/test/ruby/test_string.rb b/test/ruby/test_string.rb index 2beaef3504..9f63847da3 100644 --- a/test/ruby/test_string.rb +++ b/test/ruby/test_string.rb @@ -1513,7 +1513,7 @@ class TestString < Test::Unit::TestCase assert_equal(12, "1_2".to_i(10)) assert_equal(0x40000000, "1073741824".to_i(10)) assert_equal(0x4000000000000000, "4611686018427387904".to_i(10)) - assert_equal(1, "1__2".to_i(10)) + assert_equal(12, "1__2".to_i(10)) assert_equal(1, "1_z".to_i(10)) bug6192 = '[ruby-core:43566]' |