summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2018-04-18 17:29:45 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2018-04-18 17:29:45 +0900
commit391e24210fdfb3c80c86b10c1421c984ac715a13 (patch)
tree603851402603811db445db4d115fca124bc6cac1 /src
parentc9275bbbed36478283f3b0d1737b4ba5583d3023 (diff)
downloadmruby-391e24210fdfb3c80c86b10c1421c984ac715a13.tar.gz
mruby-391e24210fdfb3c80c86b10c1421c984ac715a13.zip
A new function `ary_from_values()`; ref #4004
Diffstat (limited to 'src')
-rw-r--r--src/array.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/array.c b/src/array.c
index 043cd7325..e039ba3b1 100644
--- a/src/array.c
+++ b/src/array.c
@@ -77,14 +77,21 @@ array_copy(mrb_value *dst, const mrb_value *src, mrb_int size)
}
}
-MRB_API mrb_value
-mrb_ary_new_from_values(mrb_state *mrb, mrb_int size, const mrb_value *vals)
+static struct RArray*
+ary_new_from_values(mrb_state *mrb, mrb_int size, const mrb_value *vals)
{
struct RArray *a = ary_new_capa(mrb, size);
array_copy(ARY_PTR(a), vals, size);
ARY_SET_LEN(a, size);
+ return a;
+}
+
+MRB_API mrb_value
+mrb_ary_new_from_values(mrb_state *mrb, mrb_int size, const mrb_value *vals)
+{
+ struct RArray *a = ary_new_from_values(mrb, size, vals);
return mrb_obj_value(a);
}