ruby-changes:14210
From: marcandre <ko1@a...>
Date: Mon, 7 Dec 2009 06:44:04 +0900 (JST)
Subject: [ruby-changes:14210] Ruby:r26030 (ruby_1_8): * array.c (rb_ary_sample): Fix infinite loop bug
marcandre 2009-12-07 06:43:46 +0900 (Mon, 07 Dec 2009) New Revision: 26030 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26030 Log: * array.c (rb_ary_sample): Fix infinite loop bug [ruby-core:27075] Modified files: branches/ruby_1_8/ChangeLog branches/ruby_1_8/array.c Index: ruby_1_8/array.c =================================================================== --- ruby_1_8/array.c (revision 26029) +++ ruby_1_8/array.c (revision 26030) @@ -3367,8 +3367,8 @@ return RARRAY_PTR(ary)[i]; } rb_scan_args(argc, argv, "1", &nv); - if (len == 0) return rb_ary_new2(0); n = NUM2INT(nv); + if (n >= len) return rb_ary_shuffle(ary); result = rb_ary_new2(n); for (i=0; i<n; i++) { retry: Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 26029) +++ ruby_1_8/ChangeLog (revision 26030) @@ -1,3 +1,7 @@ +Mon Dec 7 06:43:20 2009 Marc-Andre Lafortune <ruby-core@m...> + + * array.c (rb_ary_sample): Fix infinite loop bug [ruby-core:27075] + Sat Dec 5 13:19:29 2009 Nobuyoshi Nakada <nobu@r...> * configure.in: default ac_cv_prog_CC to CC. -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/