[macruby-changes] [2384] MacRuby/trunk/array.c

source_changes at macosforge.org source_changes at macosforge.org
Tue Aug 25 20:10:18 PDT 2009


Revision: 2384
          http://trac.macosforge.org/projects/ruby/changeset/2384
Author:   lsansonetti at apple.com
Date:     2009-08-25 20:10:18 -0700 (Tue, 25 Aug 2009)
Log Message:
-----------
rb_ary_new3(): a little optimization

Modified Paths:
--------------
    MacRuby/trunk/array.c

Modified: MacRuby/trunk/array.c
===================================================================
--- MacRuby/trunk/array.c	2009-08-26 01:36:15 UTC (rev 2383)
+++ MacRuby/trunk/array.c	2009-08-26 03:10:18 UTC (rev 2384)
@@ -406,12 +406,15 @@
 {
     VALUE ary = rb_ary_new2(n);
 
-    va_list ar;
-    va_start(ar, n);
-    for (long i = 0; i < n; i++) {
-	rb_ary_insert(ary, i, va_arg(ar, VALUE));
+    if (n > 0) {
+	va_list ar;
+	va_start(ar, n);
+	rary_reserve(RARY(ary), n);
+	for (long i = 0; i < n; i++) {
+	    rary_append(RARY(ary), va_arg(ar, VALUE));
+	}
+	va_end(ar);
     }
-    va_end(ar);
 
     return ary;
 }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090825/aa9083c0/attachment.html>


More information about the macruby-changes mailing list