From 341abd3f881ce77458f62c46e6421fd6c4444984 Mon Sep 17 00:00:00 2001 From: akr Date: Sat, 23 Aug 2008 01:14:33 +0000 Subject: [PATCH] * io.c (read_all): fptr->enc2 is 0 if no conversion. (rb_io_getline_fast): ditto. (io_getc): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ io.c | 14 +++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index e23fa91843..ad03b21d1e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sat Aug 23 10:13:00 2008 Tanaka Akira + + * io.c (read_all): fptr->enc2 is 0 if no conversion. + (rb_io_getline_fast): ditto. + (io_getc): ditto. + Sat Aug 23 09:45:35 2008 Tanaka Akira * include/ruby/io.h (rb_io_t): remove path field and add pathv field. diff --git a/io.c b/io.c index 0e9e970045..47b4505820 100644 --- a/io.c +++ b/io.c @@ -1564,7 +1564,7 @@ read_all(rb_io_t *fptr, long siz, VALUE str) pos = 0; enc = io_read_encoding(fptr); - cr = fptr->enc2 ? ENC_CODERANGE_BROKEN : 0; + cr = 0; if (siz == 0) siz = BUFSIZ; if (NIL_P(str)) { @@ -1588,9 +1588,7 @@ read_all(rb_io_t *fptr, long siz, VALUE str) } if (bytes != siz) rb_str_resize(str, bytes); str = io_enc_str(str, fptr); - if (!fptr->enc2) { - ENC_CODERANGE_SET(str, cr); - } + ENC_CODERANGE_SET(str, cr); return str; } @@ -2008,7 +2006,7 @@ rb_io_getline_fast(rb_io_t *fptr, rb_encoding *enc) VALUE str = Qnil; int len = 0; long pos = 0; - int cr = fptr->enc2 ? ENC_CODERANGE_BROKEN : 0; + int cr = 0; for (;;) { long pending = READ_DATA_PENDING_COUNT(fptr); @@ -2044,7 +2042,7 @@ rb_io_getline_fast(rb_io_t *fptr, rb_encoding *enc) } str = io_enc_str(str, fptr); - if (!fptr->enc2) ENC_CODERANGE_SET(str, cr); + ENC_CODERANGE_SET(str, cr); fptr->lineno++; ARGF.lineno = INT2FIX(fptr->lineno); return str; @@ -2516,9 +2514,7 @@ io_getc(rb_io_t *fptr, rb_encoding *enc) } if (!cr) cr = ENC_CODERANGE_BROKEN; str = io_enc_str(str, fptr); - if (!fptr->enc2) { - ENC_CODERANGE_SET(str, cr); - } + ENC_CODERANGE_SET(str, cr); return str; }