net/protocol: use binary string buffers

Not an encoding expert, but this seems necessary for the next
change.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
normal 2018-01-06 09:21:12 +00:00
Родитель dbc925f2bf
Коммит 7d34bdb81d
1 изменённых файлов: 5 добавлений и 5 удалений

Просмотреть файл

@ -84,7 +84,7 @@ module Net # :nodoc:
@read_timeout = read_timeout
@continue_timeout = continue_timeout
@debug_output = debug_output
@rbuf = ''.dup
@rbuf = ''.b
end
attr_reader :io
@ -114,7 +114,7 @@ module Net # :nodoc:
public
def read(len, dest = ''.dup, ignore_eof = false)
def read(len, dest = ''.b, ignore_eof = false)
LOG "reading #{len} bytes..."
read_bytes = 0
begin
@ -134,7 +134,7 @@ module Net # :nodoc:
dest
end
def read_all(dest = ''.dup)
def read_all(dest = ''.b)
LOG 'reading all...'
read_bytes = 0
begin
@ -193,7 +193,7 @@ module Net # :nodoc:
def rbuf_consume(len)
if len == @rbuf.size
s = @rbuf
@rbuf = ''.dup
@rbuf = ''.b
else
s = @rbuf.slice!(0, len)
end
@ -340,7 +340,7 @@ module Net # :nodoc:
end
def using_each_crlf_line
@wbuf = ''.dup
@wbuf = ''.b
yield
if not @wbuf.empty? # unterminated last line
write0 dot_stuff(@wbuf.chomp) + "\r\n"