[前][次][番号順一覧][スレッド一覧]

ruby-changes:23011

From: nobu <ko1@a...>
Date: Fri, 16 Mar 2012 17:33:25 +0900 (JST)
Subject: [ruby-changes:23011] nobu:r35060 (trunk): * enum.c (enum_take): allocate buffer array before iteration, as well

nobu	2012-03-16 17:33:10 +0900 (Fri, 16 Mar 2012)

  New Revision: 35060

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=35060

  Log:
    * enum.c (enum_take): allocate buffer array before iteration, as well
      as enum_first did.

  Modified files:
    trunk/ChangeLog
    trunk/enum.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 35059)
+++ ChangeLog	(revision 35060)
@@ -1,5 +1,8 @@
-Fri Mar 16 15:02:35 2012  Nobuyoshi Nakada  <nobu@r...>
+Fri Mar 16 17:33:08 2012  Nobuyoshi Nakada  <nobu@r...>
 
+	* enum.c (enum_take): allocate buffer array before iteration, as well
+	  as enum_first did.
+
 	* enum.c (enum_first): remove duplication.
 
 Fri Mar 16 14:43:18 2012  Yuki Sonoda (Yugui)  <yugui@y...>
Index: enum.c
===================================================================
--- enum.c	(revision 35059)
+++ enum.c	(revision 35060)
@@ -2050,7 +2050,7 @@
     }
 
     if (len == 0) return rb_ary_new2(0);
-    result = rb_ary_new();
+    result = rb_ary_new2(len);
     memo = NEW_MEMO(result, 0, len);
     rb_block_call(obj, id_each, 0, 0, take_i, (VALUE)memo);
     return result;

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]