Project

General

Profile

Actions

Bug #20416

open

IO#read doesn't preserve buffer encoding if `maxlen = nil`

Added by andrykonchin (Andrew Konchin) about 1 month ago. Updated about 1 month ago.

Status:
Open
Assignee:
-
Target version:
-
[ruby-core:117470]

Description

IO#read(nil, buffer) doesn't change buffer's encoding, but it does when maxlen parameter is specified:

buffer = "".encode(Encoding::ISO_8859_1)
p File.open("test.rb").read(1000, buffer).encoding # => #<Encoding:ISO-8859-1>

buffer = "".encode(Encoding::ISO_8859_1)
p File.open("test.rb").read(nil, buffer).encoding  # => #<Encoding:UTF-8>

I would expect changing buffer encoding in all the cases.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0