aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-19 01:52:31 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-19 01:52:31 +0000
commit198c0920045418b8c530b35dfab228cfeee0a4d1 (patch)
tree3fd9c6ad1f1f0e026ceeb1302398dc607168dd12
parenteddc9b7fd4a222534faa9aa5d2454d218d0dfa34 (diff)
downloadruby-198c0920045418b8c530b35dfab228cfeee0a4d1.tar.gz
* bignum.c (rb_cstr_to_inum): an underscore succeeding after octal
prefix is allowed. [ruby-core:14139] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--bignum.c2
-rw-r--r--test/ruby/test_integer.rb3
3 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 1c82985e4f..bb72f3b061 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Dec 19 10:52:29 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * bignum.c (rb_cstr_to_inum): an underscore succeeding after octal
+ prefix is allowed. [ruby-core:14139]
+
Wed Dec 19 00:09:19 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
* bignum.c (rb_cstr_to_inum): wrong radix check. a patch from
diff --git a/bignum.c b/bignum.c
index c840fe06f7..3f2db057af 100644
--- a/bignum.c
+++ b/bignum.c
@@ -439,7 +439,7 @@ rb_cstr_to_inum(const char *str, int base, int badcheck)
len = 2;
break;
case 8:
- if (str[0] == '0' && (str[1] == 'o'||str[1] == 'O')) {
+ if (str[0] == '0' && (str[1] == 'o'||str[1] == 'O'||str[1] == '_')) {
str += 2;
}
case 4: case 5: case 6: case 7:
diff --git a/test/ruby/test_integer.rb b/test/ruby/test_integer.rb
index 81f8c65797..db62a08cc4 100644
--- a/test/ruby/test_integer.rb
+++ b/test/ruby/test_integer.rb
@@ -670,5 +670,8 @@ class TestInteger < Test::Unit::TestCase
assert_nothing_raised(ArgumentError, "[ruby-core:13873]") {
assert_equal(0, Integer("0 "))
}
+ assert_nothing_raised(ArgumentError, "[ruby-core:14139]") {
+ assert_equal(0377, Integer("0_3_7_7"))
+ }
end
end