From 98f9c33fe07d098a1e06e0ea9a59324cf071a2d3 Mon Sep 17 00:00:00 2001 From: ksss Date: Sun, 21 May 2017 10:30:27 +0900 Subject: String#concat: Try to convert when not string --- mrbgems/mruby-string-ext/src/string.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'mrbgems/mruby-string-ext/src/string.c') diff --git a/mrbgems/mruby-string-ext/src/string.c b/mrbgems/mruby-string-ext/src/string.c index 4c22f40c7..9dc1aeafc 100644 --- a/mrbgems/mruby-string-ext/src/string.c +++ b/mrbgems/mruby-string-ext/src/string.c @@ -134,6 +134,8 @@ mrb_str_swapcase(mrb_state *mrb, mrb_value self) return str; } +static mrb_value mrb_fixnum_chr(mrb_state *mrb, mrb_value num); + /* * call-seq: * str << integer -> str @@ -153,7 +155,12 @@ static mrb_value mrb_str_concat2(mrb_state *mrb, mrb_value self) { mrb_value str; - mrb_get_args(mrb, "S", &str); + + mrb_get_args(mrb, "o", &str); + if (mrb_fixnum_p(str)) + str = mrb_fixnum_chr(mrb, str); + else + str = mrb_string_type(mrb, str); mrb_str_concat(mrb, self, str); return self; } -- cgit v1.2.3