net/protocol: use binary string buffers
Not an encoding expert, but this seems necessary for the next change. All of the IO#read, IO#read_nonblock and related methods will return a binary string when given a length argument; so anything appended to these buffers via << will be binary. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
7fd1183467
commit
816efa9ae1
@ -84,7 +84,7 @@ module Net # :nodoc:
|
|||||||
@read_timeout = read_timeout
|
@read_timeout = read_timeout
|
||||||
@continue_timeout = continue_timeout
|
@continue_timeout = continue_timeout
|
||||||
@debug_output = debug_output
|
@debug_output = debug_output
|
||||||
@rbuf = ''.dup
|
@rbuf = ''.b
|
||||||
end
|
end
|
||||||
|
|
||||||
attr_reader :io
|
attr_reader :io
|
||||||
@ -114,7 +114,7 @@ module Net # :nodoc:
|
|||||||
|
|
||||||
public
|
public
|
||||||
|
|
||||||
def read(len, dest = ''.dup, ignore_eof = false)
|
def read(len, dest = ''.b, ignore_eof = false)
|
||||||
LOG "reading #{len} bytes..."
|
LOG "reading #{len} bytes..."
|
||||||
read_bytes = 0
|
read_bytes = 0
|
||||||
begin
|
begin
|
||||||
@ -134,7 +134,7 @@ module Net # :nodoc:
|
|||||||
dest
|
dest
|
||||||
end
|
end
|
||||||
|
|
||||||
def read_all(dest = ''.dup)
|
def read_all(dest = ''.b)
|
||||||
LOG 'reading all...'
|
LOG 'reading all...'
|
||||||
read_bytes = 0
|
read_bytes = 0
|
||||||
begin
|
begin
|
||||||
@ -193,7 +193,7 @@ module Net # :nodoc:
|
|||||||
def rbuf_consume(len)
|
def rbuf_consume(len)
|
||||||
if len == @rbuf.size
|
if len == @rbuf.size
|
||||||
s = @rbuf
|
s = @rbuf
|
||||||
@rbuf = ''.dup
|
@rbuf = ''.b
|
||||||
else
|
else
|
||||||
s = @rbuf.slice!(0, len)
|
s = @rbuf.slice!(0, len)
|
||||||
end
|
end
|
||||||
@ -340,7 +340,7 @@ module Net # :nodoc:
|
|||||||
end
|
end
|
||||||
|
|
||||||
def using_each_crlf_line
|
def using_each_crlf_line
|
||||||
@wbuf = ''.dup
|
@wbuf = ''.b
|
||||||
yield
|
yield
|
||||||
if not @wbuf.empty? # unterminated last line
|
if not @wbuf.empty? # unterminated last line
|
||||||
write0 dot_stuff(@wbuf.chomp) + "\r\n"
|
write0 dot_stuff(@wbuf.chomp) + "\r\n"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user