Actions
Bug #2795
closedreadpartial after ungetc fails with text mode
Bug #2795:
readpartial after ungetc fails with text mode
Description
=begin
遠藤です。
以下のようにすると、"a" が出力されることを期待するのですが、
EOFError になります。
$ echo -n a > foo.txt && ./ruby -e '
open("foo.txt", "r+t") do |f|
f.ungetc(f.getc)
p f.readpartial(2)
end
'
-e:4:in readpartial': end of file reached (EOFError) from -e:4:in
block in '
from -e:2:in open' from -e:2:in
'
mingw32 での rubyspec がこのせいで固まるようです (mingw32
だと "r+" だけで問題になる) 。
こういう顛末みたいです。
- text mode だと ungetc が rbuf でなく cbuf に記録する
- readpartial は rbuf しか見ない
readpartial が cbuf も見るべきなんですかね。
これは akr さんか成瀬さんの担当でいいでしょうか。
--
Yusuke ENDOH mame@tsg.ne.jp
=end
Actions