From 999123c147fa8177d83e8cec0ff713bcee03ea89 Mon Sep 17 00:00:00 2001 From: naruse Date: Tue, 7 Jul 2009 01:15:32 +0000 Subject: [PATCH] * io.c (rb_io_ext_int_to_encs): Set external encoding if ext==intern. [ruby-dev:38278] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ io.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) 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 + + * 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 * 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 {