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) almost 10 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 nobu (Nobuyoshi Nakada) almost 10 years ago
- Description updated (diff)
Updated by headius (Charles Nutter) almost 10 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