summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorYusuke Endoh <[email protected]>2020-05-24 01:25:03 +0900
committerYusuke Endoh <[email protected]>2020-05-24 01:25:03 +0900
commit6f4c585bd73fc43fb9e34a70d74b5a50852600ea (patch)
tree588252a0fdbd163af58a85b85b43804fd17a1935 /include
parent47ea60814b61d6f52a71b4799b4143f59191ff82 (diff)
downloadmruby-6f4c585bd73fc43fb9e34a70d74b5a50852600ea.tar.gz
mruby-6f4c585bd73fc43fb9e34a70d74b5a50852600ea.zip
Do not destruct rest arguments for __send__
Formerly, `__send__(*args)` modified `args` with `Array#shift`. This bug affects optcarrot. This changeset avoids the array destruction by using `args = args[1, len-1]`.
Diffstat (limited to 'include')
-rw-r--r--include/mruby/array.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/mruby/array.h b/include/mruby/array.h
index fd4094a02..92c86a8c5 100644
--- a/include/mruby/array.h
+++ b/include/mruby/array.h
@@ -292,6 +292,9 @@ MRB_API mrb_value mrb_ary_join(mrb_state *mrb, mrb_value ary, mrb_value sep);
*/
MRB_API mrb_value mrb_ary_resize(mrb_state *mrb, mrb_value ary, mrb_int new_len);
+/* helper functions */
+mrb_value mrb_ary_subseq(mrb_state *mrb, mrb_value ary, mrb_int beg, mrb_int len);
+
MRB_END_DECL
#endif /* MRUBY_ARRAY_H */