[前][次][番号順一覧][スレッド一覧]

ruby-changes:7401

From: naruse <ko1@a...>
Date: Fri, 29 Aug 2008 18:39:07 +0900 (JST)
Subject: [ruby-changes:7401] Ruby:r18920 (trunk): * encoding.c (enc_compatible_p): raise TypeError when argument is not

naruse	2008-08-29 18:37:00 +0900 (Fri, 29 Aug 2008)

  New Revision: 18920

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18920

  Log:
    * encoding.c (enc_compatible_p): raise TypeError when argument is not
      String nor Regexp.

  Modified files:
    trunk/ChangeLog
    trunk/encoding.c

Index: encoding.c
===================================================================
--- encoding.c	(revision 18919)
+++ encoding.c	(revision 18920)
@@ -880,8 +880,14 @@
 {
     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 (BUILTIN_TYPE(str1) != T_STRING && BUILTIN_TYPE(str1) != T_REGEXP) {
+       rb_raise(rb_eTypeError, "wrong argument type %s (expected String or Regexp)",
+		 rb_obj_classname(str1));
+    }
+    if (BUILTIN_TYPE(str2) != T_STRING && BUILTIN_TYPE(str2) != T_REGEXP) {
+       rb_raise(rb_eTypeError, "wrong argument type %s (expected String or Regexp)",
+		 rb_obj_classname(str2));
+    }
     if (!enc_capable(str1)) return Qnil;
     if (!enc_capable(str2)) return Qnil;
     enc = rb_enc_compatible(str1, str2);
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 18919)
+++ ChangeLog	(revision 18920)
@@ -1,3 +1,8 @@
+Fri Aug 29 18:22:27 2008  NARUSE, Yui  <naruse@r...>
+
+	* encoding.c (enc_compatible_p): raise TypeError when argument is not
+	  String nor Regexp.
+
 Fri Aug 29 18:20:56 2008  NARUSE, Yui  <naruse@r...>
 
 	* string.c (rb_str_index_m): only regexp uses byte offset.

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]