summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-01 14:35:13 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-01 14:35:13 +0000
commit0a32f9a43faba89f8aa7b43f524ab3552570ce65 (patch)
tree3da10ef7f81c6d2e90ea02d8576d1e7318044db5
parentde0561684c66b1537c316a6ed502eb893307d08d (diff)
* range.c (range_step): allow float step bigger than zero but less
than one. [ruby-dev:34557] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--range.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index e5dbce7525..e58bf4862c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu May 1 23:35:11 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * range.c (range_step): allow float step bigger than zero but less
+ than one. [ruby-dev:34557]
+
Thu May 1 23:20:12 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* bignum.c (rb_big_divide): return an integer for idiv.
diff --git a/range.c b/range.c
index 51ad42b6da..d81db5fff5 100644
--- a/range.c
+++ b/range.c
@@ -312,7 +312,7 @@ range_step(int argc, VALUE *argv, VALUE range)
unit = NUM2LONG(step);
}
else {
- VALUE tmp = rb_to_int(step);
+ VALUE tmp = rb_funcall(rb_funcall(b, '+', 1, step), '-', 1, b);
unit = rb_cmpint(tmp, step, INT2FIX(0));
}
}