summaryrefslogtreecommitdiff
path: root/encoding.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-10-29 08:18:36 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-10-29 08:18:36 +0000
commit3dacfd3fe43e67eefc5f7eed63cd02d1c1b92612 (patch)
treeca0ebf9f353ed9963ce5c92495879ddfebb5b93c /encoding.c
parent2e064c694ce2e24030188da5f89ad66a59118350 (diff)
* encoding.c (rb_enc_compatible): ASCII encoding is compatible with
ASCII-compatible encoding, even for non-string objects. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'encoding.c')
-rw-r--r--encoding.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/encoding.c b/encoding.c
index 2c2563ab02..52cce8c66f 100644
--- a/encoding.c
+++ b/encoding.c
@@ -360,6 +360,11 @@ rb_enc_compatible(VALUE str1, VALUE str2)
return rb_enc_from_index(idx1);
}
+ if (idx1 == 0 && rb_enc_asciicompat(enc = rb_enc_from_index(idx2)))
+ return enc;
+ if (idx2 == 0 && rb_enc_asciicompat(enc = rb_enc_from_index(idx1)))
+ return enc;
+
if (BUILTIN_TYPE(str1) != T_STRING) {
VALUE tmp = str1;
str1 = str2;