diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | range.c | 3 |
2 files changed, 5 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Tue Jan 29 22:27:11 2008 Yusuke Endoh <mame@tsg.ne.jp> + + * range.c: fix SEGV by ("a" .. "z").step(2 ** 30) { }. + Tue Jan 29 21:59:16 2008 Tanaka Akira <akr@fsij.org> * enc/euc_tw.c (euctw_islead): 0x8e is a leading byte. @@ -252,8 +252,7 @@ step_i(VALUE i, void *arg) iter[0] -= INT2FIX(1) & ~FIXNUM_FLAG; } else { - VALUE one = INT2FIX(1); - iter[0] = rb_funcall(iter[0], '-', 1, &one); + iter[0] = rb_funcall(iter[0], '-', 1, INT2FIX(1)); } if (iter[0] == INT2FIX(0)) { rb_yield(i); |