From 2adb1043f48c4264616abba2fbbb3ca117a8d565 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 11 Feb 2023 14:23:48 +0900 Subject: [PATCH] array.c (mrb_ary_push_m): call mrb_ary_push() when `argc == 1` --- src/array.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/array.c b/src/array.c index c5e62d32f..82cab550d 100644 --- a/src/array.c +++ b/src/array.c @@ -543,9 +543,13 @@ mrb_ary_push_m(mrb_state *mrb, mrb_value self) mrb_int len, len2; struct RArray *a; + argc = mrb_get_argc(mrb); + if (argc == 1) { + mrb_ary_push(mrb, self, mrb_get_argv(mrb)[0]); + return self; + } a = mrb_ary_ptr(self); ary_modify(mrb, a); - argc = mrb_get_argc(mrb); len = ARY_LEN(a); len2 = len + argc; if (ARY_CAPA(a) < len2) {