20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/gio2/input-stream.rb', line 20
def read(size=nil)
if size.nil?
all = "".force_encoding("ASCII-8BIT")
buffer_size = 8192
buffer = " ".force_encoding("ASCII-8BIT") * buffer_size
loop do
read_bytes = read_raw_compatible(buffer)
all << buffer.byteslice(0, read_bytes)
break if read_bytes != buffer_size
end
all
else
buffer = " " * size
read_bytes = read_raw_compatible(buffer)
buffer.replace(buffer.byteslice(0, read_bytes))
buffer
end
end
|