aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-12-18 07:10:15 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-12-18 07:10:15 +0000
commit6b718de1d60946a83abf58695838551e62289fed (patch)
tree0ca0abe643a3e59d0d3646ab9d83dd05449784f7
parentc740951f250c4c4ad3b93e01aed92ec370e36e41 (diff)
downloadruby-6b718de1d60946a83abf58695838551e62289fed.tar.gz
io.c: open generic in binread
* io.c (rb_io_s_binread): fix r61317, unintentional change. From: Nobuyoshi Nakada <nobu@ruby-lang.org> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--io.c2
-rw-r--r--test/ruby/test_io.rb6
2 files changed, 7 insertions, 1 deletions
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