diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-10-04 23:33:03 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-10-04 23:33:03 +0000 |
commit | f8f77d84233ff50a5d1cd48f1852ad97a4fa7758 (patch) | |
tree | 03c6b15aa5fe3cdb0bf959cfc37173c704a3b28c /struct.c | |
parent | 509d8f81a685148a9f21f647717cb37d889a09d4 (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.c | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -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); } |