From 6b718de1d60946a83abf58695838551e62289fed Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 18 Dec 2017 07:10:15 +0000 Subject: [PATCH] io.c: open generic in binread * io.c (rb_io_s_binread): fix r61317, unintentional change. From: Nobuyoshi Nakada git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- io.c | 2 +- test/ruby/test_io.rb | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/io.c b/io.c index 0845c823c1..a8ed4f0433 100644 --- a/io.c +++ b/io.c @@ -10420,7 +10420,7 @@ rb_io_s_binread(int argc, VALUE *argv, VALUE io) rb_scan_args(argc, argv, "12", NULL, NULL, &offset); FilePathValue(argv[0]); convconfig.enc = rb_ascii8bit_encoding(); - arg.io = rb_file_open_generic(io_alloc(io), argv[0], oflags, fmode, &convconfig, 0); + arg.io = rb_io_open_generic(io, argv[0], oflags, fmode, &convconfig, 0); if (NIL_P(arg.io)) return Qnil; arg.argv = argv+1; arg.argc = (argc > 1) ? 1 : 0; diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb index 89c68b6cb2..4f6027d8c9 100644 --- a/test/ruby/test_io.rb +++ b/test/ruby/test_io.rb @@ -2188,9 +2188,15 @@ class TestIO < Test::Unit::TestCase assert_warn(/invoke external command/) do File.read("|#{EnvUtil.rubybin} -e puts") end + assert_warn(/invoke external command/) do + File.binread("|#{EnvUtil.rubybin} -e puts") + end assert_raise_with_message(ArgumentError, /invoke external command/) do Class.new(IO).read("|#{EnvUtil.rubybin} -e puts") end + assert_raise_with_message(ArgumentError, /invoke external command/) do + Class.new(IO).binread("|#{EnvUtil.rubybin} -e puts") + end end def test_reopen