diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-07-31 06:30:35 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-07-31 06:30:35 +0000 |
commit | 2047c47d638b8fb5c1d756a202962ea872153997 (patch) | |
tree | 6746427c097e2d14f629601cc2eda57d0822d29a | |
parent | 00dfd7d7cc1f5ead0bbd8e239eaffa555c8c6686 (diff) | |
download | ruby-2047c47d638b8fb5c1d756a202962ea872153997.tar.gz |
* array.c (rb_ary_collect): must get length of array for each
iteration. reported on [ruby-talk:77500], and fixed by
K.Sasada <ko1@namikilab.tuat.ac.jp> on [ruby-talk:77504]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | array.c | 7 |
2 files changed, 9 insertions, 4 deletions
@@ -1,3 +1,9 @@ +Thu Jul 31 15:25:12 2003 NAKAMURA Usaku <usa@ruby-lang.org> + + * array.c (rb_ary_collect): must get length of array for each + iteration. reported on [ruby-talk:77500], and fixed by + K.Sasada <ko1@namikilab.tuat.ac.jp> on [ruby-talk:77504] + Thu Jul 31 14:11:54 2003 GOTOU Yuuzou <gotoyuzo@notwork.org> * ext/openssl/extconf.rb: move gmake specific features @@ -1190,16 +1190,15 @@ static VALUE rb_ary_collect(ary) VALUE ary; { - long len, i; + long i; VALUE collect; if (!rb_block_given_p()) { return rb_ary_new4(RARRAY(ary)->len, RARRAY(ary)->ptr); } - len = RARRAY(ary)->len; - collect = rb_ary_new2(len); - for (i=0; i<len; i++) { + collect = rb_ary_new2(RARRAY(ary)->len); + for (i = 0; i < RARRAY(ary)->len; i++) { rb_ary_push(collect, rb_yield(RARRAY(ary)->ptr[i])); } return collect; |