diff --git a/mrbgems/mruby-data/src/data.c b/mrbgems/mruby-data/src/data.c index 56cfe7905..d7ac3e53a 100644 --- a/mrbgems/mruby-data/src/data.c +++ b/mrbgems/mruby-data/src/data.c @@ -111,11 +111,10 @@ static void make_data_define_accessors(mrb_state *mrb, mrb_value members, struct RClass *c) { const mrb_value *ptr_members = RARRAY_PTR(members); - mrb_int i; mrb_int len = RARRAY_LEN(members); int ai = mrb_gc_arena_save(mrb); - for (i=0; i0) 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, ptr[i])); + mrb_str_cat_str(mrb, ret, mrb_inspect(mrb, vals[i])); + mrb_gc_arena_restore(mrb, ai); } mrb_str_cat_lit(mrb, ret, ">");