summaryrefslogtreecommitdiff
path: root/struct.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-10-04 23:33:03 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-10-04 23:33:03 +0000
commitf8f77d84233ff50a5d1cd48f1852ad97a4fa7758 (patch)
tree03c6b15aa5fe3cdb0bf959cfc37173c704a3b28c /struct.c
parent509d8f81a685148a9f21f647717cb37d889a09d4 (diff)
use RARRAY_AREF().
* struct.c (setup_struct): no need to use Array raw ptr here. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'struct.c')
-rw-r--r--struct.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/struct.c b/struct.c
index f2db11cb35..42ae4b0228 100644
--- a/struct.c
+++ b/struct.c
@@ -313,7 +313,6 @@ rb_struct_s_inspect(VALUE klass)
static VALUE
setup_struct(VALUE nstr, VALUE members)
{
- const VALUE *ptr_members;
long i, len;
members = struct_set_members(nstr, members);
@@ -323,17 +322,17 @@ setup_struct(VALUE nstr, VALUE members)
rb_define_singleton_method(nstr, "[]", rb_class_new_instance, -1);
rb_define_singleton_method(nstr, "members", rb_struct_s_members_m, 0);
rb_define_singleton_method(nstr, "inspect", rb_struct_s_inspect, 0);
- ptr_members = RARRAY_CONST_PTR(members);
len = RARRAY_LEN(members);
for (i=0; i< len; i++) {
- ID id = SYM2ID(ptr_members[i]);
+ VALUE sym = RARRAY_AREF(members, i);
+ ID id = SYM2ID(sym);
VALUE off = LONG2NUM(i);
if (i < N_REF_FUNC) {
rb_define_method_id(nstr, id, ref_func[i], 0);
}
else {
- define_aref_method(nstr, ptr_members[i], off);
+ define_aref_method(nstr, sym, off);
}
define_aset_method(nstr, ID2SYM(rb_id_attrset(id)), off);
}