From 77368ce762b7a0e332580cd091fbe063ad2702c1 Mon Sep 17 00:00:00 2001 From: dearblue Date: Sun, 15 Sep 2019 22:31:59 +0900 Subject: Revert part of 8c90b5fc6 `IO#readline` and `IO#readchar` process in character units. --- mrbgems/mruby-io/mrblib/io.rb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/mrbgems/mruby-io/mrblib/io.rb b/mrbgems/mruby-io/mrblib/io.rb index aaf22da2e..3f5216fcb 100644 --- a/mrbgems/mruby-io/mrblib/io.rb +++ b/mrbgems/mruby-io/mrblib/io.rb @@ -253,12 +253,14 @@ class IO break end - if limit && limit <= @buf.bytesize - array.push IO._bufread(@buf, limit) + if limit && limit <= @buf.size + array.push @buf[0, limit] + @buf = @buf[limit, @buf.size - limit] break elsif idx = @buf.index(rs) - len = idx + rs.bytesize - array.push IO._bufread(@buf, len) + len = idx + rs.size + array.push @buf[0, len] + @buf = @buf[len, @buf.size - len] break else array.push @buf @@ -281,7 +283,9 @@ class IO def readchar _read_buf - IO._bufread(@buf, 1) + c = @buf[0] + @buf = @buf[1, @buf.size] + c end def getc -- cgit v1.2.3