summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--io.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 940d93359..4339904cd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -23,6 +23,8 @@ Mon Dec 24 02:59:32 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
* string.c (str_new_shared): was setting embedding flag of wrong
string object. [ruby-dev:32685]
+ * io.c (io_enc_str): should preserve default_external encoding.
+
Mon Dec 24 02:06:35 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
* io.c (rb_f_open): documentation update.
diff --git a/io.c b/io.c
index 3dda55cdc..54bff0ecb 100644
--- a/io.c
+++ b/io.c
@@ -1316,9 +1316,9 @@ io_enc_str(VALUE str, rb_io_t *fptr)
rb_enc_from_encoding(fptr->enc),
rb_enc_from_encoding(fptr->enc2));
}
- else if (fptr->enc) {
+ else {
/* just one encoding, so associate it with the string */
- rb_enc_associate(str, fptr->enc);
+ rb_enc_associate(str, io_read_encoding(fptr));
}
return str;
}