summaryrefslogtreecommitdiff
path: root/io.c
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-23 01:14:33 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-23 01:14:33 +0000
commit341abd3f881ce77458f62c46e6421fd6c4444984 (patch)
treef13a131abec5d2e61d6cc6c9f995b4b2b4ca21fc /io.c
parent895fd7ec5e03c51c5ebc1424312967852703de38 (diff)
* 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
Diffstat (limited to 'io.c')
-rw-r--r--io.c14
1 files changed, 5 insertions, 9 deletions
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;
}