From: "U.Nakamura" Date: 2008-01-24T19:54:31+09:00 Subject: [ruby-dev:33354] Re: [ruby-cvs:22447] Ruby:r15210 (trunk): * io.c (rb_io_getline_fast): the end point of left_char_head() こんにちは、なかむら(う)です。 In message "[ruby-cvs:22447] Ruby:r15210 (trunk): * io.c (rb_io_getline_fast): the end point of left_char_head()" on Jan.24,2008 16:34:08, wrote: | matz 2008-01-24 16:34:07 +0900 (Thu, 24 Jan 2008) | | New Revision: 15210 | | Modified files: | trunk/ChangeLog | trunk/io.c | | Log: | * io.c (rb_io_getline_fast): the end point of left_char_head() | must be the last character. [ruby-cvs:22445] | | http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=15210&r2=15209&diff_format=u | http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/io.c?r1=15210&r2=15209&diff_format=u これ以降、大きなファイルを食わせると、each_lineなどでたまに一 度に複数の行を拾ってきてしまう場合があるようです。 1802行目を const char *pend = p + pending; とすれば問題はなくなるのですが、これでは元の問題の解決にはな ってないのでダメですよねえ。 というわけで、問題の指摘だけですが、とりあえず報告ということ で。 それでは。 -- U.Nakamura