Merge pull request #3084 from syohex/all-zeros

Fix passing all zero string to Kernel#Integer
This commit is contained in:
Yukihiro "Matz" Matsumoto
2016-01-14 16:38:58 +09:00
2 changed files with 4 additions and 0 deletions
+2
View File
@@ -22,6 +22,8 @@ assert('Kernel#Integer') do
assert_equal(26, Integer("0x1a"))
assert_equal(930, Integer("0930", 10))
assert_equal(7, Integer("111", 2))
assert_equal(0, Integer("0"))
assert_equal(0, Integer("00000"))
assert_raise(TypeError) { Integer(nil) }
end
+2
View File
@@ -2153,6 +2153,8 @@ mrb_str_len_to_inum(mrb_state *mrb, const char *str, size_t len, int base, int b
break;
}
}
if (*(p - 1) == '0')
p--;
}
if (p == pend) {
if (badcheck) goto bad;