From bb87f28346746d02aa7cb9ea7d49d03a3d8452ef Mon Sep 17 00:00:00 2001 From: akr Date: Sat, 24 Jun 2006 14:52:59 +0000 Subject: * eval.c (rb_eval): use rb_ary_new2 instead of rb_ary_new4 to avoid GC problem. (rb_yield_values): use rb_ary_new2 instead of rb_ary_new4. * array.c (rb_ary_new4): don't set len as n. make it safe with GC. [ruby-dev:28826] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- eval.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'eval.c') diff --git a/eval.c b/eval.c index d94e5aaa60..d9afc3436f 100644 --- a/eval.c +++ b/eval.c @@ -3635,7 +3635,7 @@ rb_eval(VALUE self, NODE *n) long i; i = node->nd_alen; - val = rb_ary_new4(i, 0); + val = rb_ary_new2(i); for (i=0;node;node=node->nd_next) { RARRAY(val)->ptr[i++] = rb_eval(self, node->nd_head); RARRAY(val)->len = i; @@ -4881,7 +4881,7 @@ rb_yield_values(int n, ...) if (n == 0) { return rb_yield_0(Qundef, 0, 0, 0); } - val = rb_ary_new4(n, 0); + val = rb_ary_new2(n); va_start(args, n); for (i=0; iptr[i] = va_arg(args, VALUE); -- cgit v1.2.3