* range.c (range_step): step may be bignum.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2008-05-02 05:22:17 +00:00
Родитель f34a75657d
Коммит 494f6fcfcf
2 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -1,3 +1,7 @@
Fri May 2 14:10:17 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* range.c (range_step): step may be bignum.
Fri May 2 13:52:36 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* re.c (Init_Regexp): remove MatchData#select. [ruby-dev:34563]

Просмотреть файл

@ -310,8 +310,11 @@ range_step(int argc, VALUE *argv, VALUE range)
rb_scan_args(argc, argv, "01", &step);
tmp = rb_check_to_integer(step, "to_int");
if (!NIL_P(tmp)) {
if (FIXNUM_P(tmp))
unit = FIX2LONG(tmp);
else
unit = rb_cmpint(tmp, step, INT2FIX(0));
step = tmp;
unit = NUM2LONG(step);
}
else {
tmp = rb_funcall(rb_funcall(b, '+', 1, step), '-', 1, b);