summaryrefslogtreecommitdiffhomepage
path: root/src/array.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/array.c')
-rw-r--r--src/array.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/array.c b/src/array.c
index e41183d68..9e5b90061 100644
--- a/src/array.c
+++ b/src/array.c
@@ -590,7 +590,7 @@ mrb_ary_splice(mrb_state *mrb, mrb_value ary, mrb_int head, mrb_int len, mrb_val
{
struct RArray *a = mrb_ary_ptr(ary);
const mrb_value *argv;
- mrb_int i, argc;
+ mrb_int argc;
ary_modify(mrb, a);
@@ -631,9 +631,7 @@ mrb_ary_splice(mrb_state *mrb, mrb_value ary, mrb_int head, mrb_int len, mrb_val
}
ary_fill_with_nil(a->ptr + a->len, head - a->len);
if (argc > 0) {
- for (i = 0; i < argc; i++) {
- a->ptr[head + i] = argv[i];
- }
+ array_copy(a->ptr + head, argv, argc);
}
a->len = len;
}