Actions
Bug #11015
closedIO.copy_stream does not advance Tempfile destination
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin14]
Description
The following script, reported to JRuby in https://github.com/jruby/jruby/issues/2762, shows that MRI does not advance the position of a Tempfile
when using copy_stream
:
require "stringio"
require "tempfile"
file = Tempfile.new('foo')
IO.copy_stream(StringIO.new('foo'), file)
file.eof? #=> false (it's on the beginning)
Other types of streams leave the destination where it is after the copy, so I believe this is a bug.
Updated by nobu (Nobuyoshi Nakada) over 9 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
Applied in changeset r50118.
io.c: use read/write methods if possible
- io.c (copy_stream_body): use the arguments without conversion if
having read, readpartial, and write methods, than conversion by
to_path method. [ruby-core:68676] [Bug #11015]
Updated by headius (Charles Nutter) over 9 years ago
Closing the loop on one detail...
This didn't affect JRuby because JRuby's Tempfile actually subclasses IO, rather than wrapping and delegating.
Updated by nobu (Nobuyoshi Nakada) about 9 years ago
- Related to Bug #11199: IO.copy_stream degrade that can't call pathname to pathname added
Actions
Like0
Like0Like0Like0Like0