ruby-changes:1933
From: ko1@a...
Date: 10 Sep 2007 14:05:59 +0900
Subject: [ruby-changes:1933] matz - Ruby:r13424 (trunk): * array.c (rb_ary_cycle): avoid infinite loop for empty array.
matz 2007-09-10 14:05:49 +0900 (Mon, 10 Sep 2007) New Revision: 13424 Modified files: trunk/ChangeLog trunk/array.c Log: * array.c (rb_ary_cycle): avoid infinite loop for empty array. based on a patch from David Flanagan. [ruby-core:12085] http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/array.c?r1=13424&r2=13423 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=13424&r2=13423 Index: array.c =================================================================== --- array.c (revision 13423) +++ array.c (revision 13424) @@ -2939,7 +2939,7 @@ long i; RETURN_ENUMERATOR(ary, 0, 0); - for (;;) { + while (RARRAY_LEN(ary) > 0) { for (i=0; i<RARRAY_LEN(ary); i++) { rb_yield(RARRAY_PTR(ary)[i]); } Index: ChangeLog =================================================================== --- ChangeLog (revision 13423) +++ ChangeLog (revision 13424) @@ -1,3 +1,8 @@ +Mon Sep 10 13:44:37 2007 Yukihiro Matsumoto <matz@r...> + + * array.c (rb_ary_cycle): avoid infinite loop for empty array. + based on a patch from David Flanagan. [ruby-core:12085] + Mon Sep 10 01:21:23 2007 Yukihiro Matsumoto <matz@r...> * marshal.c (r_object0): struct allocation first to check if a -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml