From 159ff5b28dc740ad2119bc76e565e1d52ea59c35 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 31 Aug 2023 21:16:39 +0900 Subject: [PATCH] mrbgems/mruby-struct/src/struct.c: use direct array access Unless we need boundary check, we don't need to use mrb_ary_ref(). --- mrbgems/mruby-struct/src/struct.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mrbgems/mruby-struct/src/struct.c b/mrbgems/mruby-struct/src/struct.c index 4f6dadcfb..757e4dafb 100644 --- a/mrbgems/mruby-struct/src/struct.c +++ b/mrbgems/mruby-struct/src/struct.c @@ -617,7 +617,7 @@ mrb_struct_to_h(mrb_state *mrb, mrb_value self) ret = mrb_hash_new_capa(mrb, RARRAY_LEN(members)); for (i = 0; i < RARRAY_LEN(members); i++) { - mrb_hash_set(mrb, ret, RARRAY_PTR(members)[i], mrb_ary_ref(mrb, self, i)); + mrb_hash_set(mrb, ret, RARRAY_PTR(members)[i], RARRAY_PTR(self)[i]); } return ret; @@ -669,7 +669,7 @@ mrb_struct_to_s(mrb_state *mrb, mrb_value self) if (i>0) mrb_str_cat_lit(mrb, ret, ", "); mrb_str_cat(mrb, ret, name, len); mrb_str_cat_lit(mrb, ret, "="); - mrb_str_cat_str(mrb, ret, mrb_inspect(mrb, mrb_ary_ref(mrb, self, i))); + mrb_str_cat_str(mrb, ret, mrb_inspect(mrb, RARRAY_PTR(self)[i])); mrb_gc_arena_restore(mrb, ai); } mrb_str_cat_lit(mrb, ret, ">");