Ensure readline_nonblock returns an UTF-8 string.

This commit is contained in:
Markus Reiter 2017-04-20 04:47:03 +02:00
parent 625a950b46
commit d251be1eeb

View File

@ -1,10 +1,17 @@
class IO
def readline_nonblock(sep = $INPUT_RECORD_SEPARATOR)
line = ""
buffer = ""
buffer.concat(read_nonblock(1)) while buffer[-1] != sep
buffer
loop do
break if buffer == sep
read_nonblock(1, buffer)
line.concat(buffer)
end
line
rescue IO::WaitReadable, EOFError => e
raise e if buffer.empty?
buffer
raise e if line.empty?
line
end
end