From a69c74be723a8eace6c9d14f3ad0759ca96b3bbf Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 13 Apr 2013 01:20:39 +0000 Subject: [PATCH] struct.c: hide member names * struct.c (rb_struct_define_without_accessor, rb_struct_define), (rb_struct_s_def): hide member names array. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 ++++- struct.c | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0a34a56372..4a2d839c51 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,7 @@ -Sat Apr 13 10:20:32 2013 Nobuyoshi Nakada +Sat Apr 13 10:20:37 2013 Nobuyoshi Nakada + + * struct.c (rb_struct_define_without_accessor, rb_struct_define), + (rb_struct_s_def): hide member names array. * struct.c (anonymous_struct, new_struct, setup_struct): split make_struct() for each purpose. diff --git a/struct.c b/struct.c index 3531e3ef51..7091322d05 100644 --- a/struct.c +++ b/struct.c @@ -243,7 +243,7 @@ rb_struct_define_without_accessor(const char *class_name, VALUE super, rb_alloc_ VALUE members; char *name; - members = rb_ary_new2(0); + members = rb_ary_tmp_new(0); va_start(ar, alloc); while ((name = va_arg(ar, char*)) != NULL) { rb_ary_push(members, ID2SYM(rb_intern(name))); @@ -275,7 +275,7 @@ rb_struct_define(const char *name, ...) VALUE st, ary; char *mem; - ary = rb_ary_new(); + ary = rb_ary_tmp_new(0); va_start(ar, name); while ((mem = va_arg(ar, char*)) != 0) { @@ -351,7 +351,7 @@ rb_struct_s_def(int argc, VALUE *argv, VALUE klass) --argc; ++argv; } - rest = rb_ary_new2(argc); + rest = rb_ary_tmp_new(argc); for (i=0; i