aboutsummaryrefslogtreecommitdiffstats
path: root/variable.c
diff options
context:
space:
mode:
Diffstat (limited to 'variable.c')
-rw-r--r--variable.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/variable.c b/variable.c
index 1627467bd9..9fd075c21c 100644
--- a/variable.c
+++ b/variable.c
@@ -3360,12 +3360,13 @@ tbl_copy_i(st_data_t key, st_data_t value, st_data_t data)
return ST_CONTINUE;
}
-st_table *
-rb_st_copy(VALUE obj, struct st_table *orig_tbl)
+void
+rb_iv_tbl_copy(VALUE dst, VALUE src)
{
+ st_table *orig_tbl = RCLASS_IV_TBL(src);
st_table *new_tbl = st_copy(orig_tbl);
- st_foreach(new_tbl, tbl_copy_i, (st_data_t)obj);
- return new_tbl;
+ st_foreach(new_tbl, tbl_copy_i, (st_data_t)dst);
+ RCLASS_IV_TBL(dst) = new_tbl;
}
MJIT_FUNC_EXPORTED rb_const_entry_t *