From 703783324c16b8b2b50210d1a7d1119902abbb8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3?= Date: Mon, 26 Aug 2019 15:20:15 +0900 Subject: rb_ensure now free from ANYARGS After 5e86b005c0f2ef30df2f9906c7e2f3abefe286a2, I now think ANYARGS is dangerous and should be extinct. This commit deletes ANYARGS from rb_ensure, which also revealed many arity / type mismatches. --- io.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'io.c') diff --git a/io.c b/io.c index 8f48ba1dd6..1b37723b26 100644 --- a/io.c +++ b/io.c @@ -10379,8 +10379,9 @@ open_key_args(VALUE klass, int argc, VALUE *argv, VALUE opt, struct foreach_arg } static VALUE -io_s_foreach(struct getline_arg *arg) +io_s_foreach(VALUE v) { + struct getline_arg *arg = (void *)v; VALUE str; while (!NIL_P(str = rb_io_getline_1(arg->rs, arg->limit, arg->chomp, arg->io))) { @@ -10437,8 +10438,9 @@ rb_io_s_foreach(int argc, VALUE *argv, VALUE self) } static VALUE -io_s_readlines(struct getline_arg *arg) +io_s_readlines(VALUE v) { + struct getline_arg *arg = (void *)v; return io_readlines(arg, arg->io); } @@ -10489,8 +10491,9 @@ rb_io_s_readlines(int argc, VALUE *argv, VALUE io) } static VALUE -io_s_read(struct foreach_arg *arg) +io_s_read(VALUE v) { + struct foreach_arg *arg = (void *)v; return io_read(arg->argc, arg->argv, arg->io); } @@ -10626,8 +10629,9 @@ rb_io_s_binread(int argc, VALUE *argv, VALUE io) } static VALUE -io_s_write0(struct write_arg *arg) +io_s_write0(VALUE v) { + struct write_arg *arg = (void * )v; return io_write(arg->io,arg->str,arg->nosync); } -- cgit v1.2.3