From 7fe253f47f55f69069fc0e03879a3a2b55aee408 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Sun, 29 Sep 2019 18:06:02 +0900 Subject: [ruby/stringio] Use rb_funcallv_kw when delegating arguments https://github.com/ruby/stringio/commit/5892663e32 --- ext/stringio/stringio.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'ext/stringio') diff --git a/ext/stringio/stringio.c b/ext/stringio/stringio.c index 6e75406fb2..8c7665711b 100644 --- a/ext/stringio/stringio.c +++ b/ext/stringio/stringio.c @@ -26,6 +26,11 @@ # define RB_INTEGER_TYPE_P(c) (FIXNUM_P(c) || RB_TYPE_P(c, T_BIGNUM)) #endif +#ifndef RB_PASS_CALLED_KEYWORDS +# define rb_funcallv_kw(recv, mid, arg, argv, kw_splat) rb_funcallv(recv, mid, arg, argv) +# define rb_class_new_instance_kw(argc, argv, klass, kw_splat) rb_class_new_instance(argc, argv, klass) +#endif + #ifndef HAVE_RB_IO_EXTRACT_MODEENC #define rb_io_extract_modeenc strio_extract_modeenc static void @@ -1309,7 +1314,7 @@ strio_gets(int argc, VALUE *argv, VALUE self) static VALUE strio_readline(int argc, VALUE *argv, VALUE self) { - VALUE line = rb_funcallv(self, rb_intern("gets"), argc, argv); + VALUE line = rb_funcallv_kw(self, rb_intern("gets"), argc, argv, RB_PASS_CALLED_KEYWORDS); if (NIL_P(line)) rb_eof_error(); return line; } @@ -1589,7 +1594,7 @@ strio_read(int argc, VALUE *argv, VALUE self) static VALUE strio_sysread(int argc, VALUE *argv, VALUE self) { - VALUE val = rb_funcallv(self, rb_intern("read"), argc, argv); + VALUE val = rb_funcallv_kw(self, rb_intern("read"), argc, argv, RB_PASS_CALLED_KEYWORDS); if (NIL_P(val)) { rb_eof_error(); } -- cgit v1.2.3