summaryrefslogtreecommitdiff
path: root/encoding.c
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-23 21:12:32 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-23 21:12:32 +0000
commit33dd0c35f1b292623cd9d93a61c3b11beb0576b8 (patch)
tree2fef5a29300a1f0c8b40872d79c2527364efbea4 /encoding.c
parente8e84720582658c39e7307be303f2153cf08421b (diff)
* encoding.c (enc_compatible_p): raise TypeError when argument is Encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'encoding.c')
-rw-r--r--encoding.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/encoding.c b/encoding.c
index 9002a1f17f..5e8412a026 100644
--- a/encoding.c
+++ b/encoding.c
@@ -876,6 +876,8 @@ enc_compatible_p(VALUE klass, VALUE str1, VALUE str2)
{
rb_encoding *enc;
+ if (enc_check_encoding(str1) > 0 || enc_check_encoding(str2) > 0)
+ rb_raise(rb_eTypeError, "wrong argument type Encoding (expected String)");
if (!enc_capable(str1)) return Qnil;
if (!enc_capable(str2)) return Qnil;
enc = rb_enc_compatible(str1, str2);