summaryrefslogtreecommitdiff
path: root/io.c
diff options
context:
space:
mode:
Diffstat (limited to 'io.c')
-rw-r--r--io.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/io.c b/io.c
index b135f916cf..8a61940824 100644
--- a/io.c
+++ b/io.c
@@ -7911,8 +7911,9 @@ struct seek_arg {
};
static VALUE
-seek_before_access(struct seek_arg *arg)
+seek_before_access(VALUE argp)
{
+ struct seek_arg *arg = (struct seek_arg *)argp;
rb_io_binmode(arg->io);
return rb_io_seek(arg->io, arg->offset, arg->mode);
}
@@ -7964,7 +7965,7 @@ rb_io_s_read(int argc, VALUE *argv, VALUE io)
sarg.io = arg.io;
sarg.offset = offset;
sarg.mode = SEEK_SET;
- rb_protect((VALUE (*)(VALUE))seek_before_access, (VALUE)&sarg, &state);
+ rb_protect(seek_before_access, (VALUE)&sarg, &state);
if (state) {
rb_io_close(arg.io);
rb_jump_tag(state);