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 + + * string.c (rb_str_conv_enc_opts): default to original encoding. + Thu Mar 15 13:47:17 2012 NAKAMURA Usaku * 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()) {