summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--string.c1
2 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index e411a66a2e..2fae9ad137 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Thu Mar 15 14:49:31 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * string.c (rb_str_conv_enc_opts): default to original encoding.
+
Thu Mar 15 13:47:17 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* hash.c (env_str_new, rb_f_getenv, env_fetch): use rb_str_conv_enc()
diff --git a/string.c b/string.c
index f2694a8947..1a0b432c0e 100644
--- a/string.c
+++ b/string.c
@@ -483,6 +483,7 @@ rb_str_conv_enc_opts(VALUE str, rb_encoding *from, rb_encoding *to, int ecflags,
unsigned char *dp;
if (!to) return str;
+ if (!from) from = rb_enc_get(str);
if (from == to) return str;
if ((rb_enc_asciicompat(to) && ENC_CODERANGE(str) == ENC_CODERANGE_7BIT) ||
to == rb_ascii8bit_encoding()) {