diff options
Diffstat (limited to 'mrbgems')
| -rw-r--r-- | mrbgems/mruby-io/mrblib/io.rb | 14 |
1 files 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 |
