зеркало из https://github.com/github/ruby.git
* io.c (rb_io_getline_fast): the end point of left_char_head()
must be the last character. [ruby-cvs:22445] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
e36dd52291
Коммит
4bcfd50ee7
|
@ -1,3 +1,8 @@
|
|||
Thu Jan 24 16:31:04 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* io.c (rb_io_getline_fast): the end point of left_char_head()
|
||||
must be the last character. [ruby-cvs:22445]
|
||||
|
||||
Thu Jan 24 16:24:25 2008 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||
|
||||
* parse.y (reg_fragment_setenc_gen): recognize regexp with option n as
|
||||
|
|
4
io.c
4
io.c
|
@ -1799,12 +1799,14 @@ rb_io_getline_fast(rb_io_t *fptr)
|
|||
|
||||
if (pending > 0) {
|
||||
const char *p = READ_DATA_PENDING_PTR(fptr);
|
||||
const char *pend = p + pending - 1;
|
||||
const char *e;
|
||||
|
||||
e = memchr(p, '\n', pending);
|
||||
if (e) {
|
||||
const char *p0 = rb_enc_left_char_head(p, e, enc);
|
||||
const char *pend = rb_enc_left_char_head(p, p+pending, enc);
|
||||
|
||||
pend = rb_enc_left_char_head(p0, pend, enc);
|
||||
if (rb_enc_is_newline(p0, pend, enc)) {
|
||||
pending = p0 - p + rb_enc_mbclen(p0, pend, enc);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче