summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--io.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 9bf7518b24..1c28949d15 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Jul 7 10:12:37 2009 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * io.c (rb_io_ext_int_to_encs): Set external encoding if
+ ext==intern. [ruby-dev:38278]
+
Mon Jul 6 09:31:50 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* proc.c (make_curry_proc): should propagate lambda-ness.
diff --git a/io.c b/io.c
index 8b5db0e066..7f8733f031 100644
--- a/io.c
+++ b/io.c
@@ -4101,7 +4101,7 @@ rb_io_ext_int_to_encs(rb_encoding *ext, rb_encoding *intern, rb_encoding **enc,
intern = rb_default_internal_encoding();
if (intern == NULL || intern == (rb_encoding *)Qnil || intern == ext) {
/* No internal encoding => use external + no transcoding */
- *enc = default_ext ? NULL : ext;
+ *enc = (default_ext && intern != ext) ? NULL : ext;
*enc2 = NULL;
}
else {