* encoding.c (enc_compatible_p): raise TypeError when argument is not
String nor Regexp. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
56c3432476
commit
889acc8185
@ -1,3 +1,8 @@
|
|||||||
|
Fri Aug 29 18:22:27 2008 NARUSE, Yui <naruse@ruby-lang.org>
|
||||||
|
|
||||||
|
* encoding.c (enc_compatible_p): raise TypeError when argument is not
|
||||||
|
String nor Regexp.
|
||||||
|
|
||||||
Fri Aug 29 18:20:56 2008 NARUSE, Yui <naruse@ruby-lang.org>
|
Fri Aug 29 18:20:56 2008 NARUSE, Yui <naruse@ruby-lang.org>
|
||||||
|
|
||||||
* string.c (rb_str_index_m): only regexp uses byte offset.
|
* string.c (rb_str_index_m): only regexp uses byte offset.
|
||||||
|
10
encoding.c
10
encoding.c
@ -880,8 +880,14 @@ enc_compatible_p(VALUE klass, VALUE str1, VALUE str2)
|
|||||||
{
|
{
|
||||||
rb_encoding *enc;
|
rb_encoding *enc;
|
||||||
|
|
||||||
if (enc_check_encoding(str1) > 0 || enc_check_encoding(str2) > 0)
|
if (BUILTIN_TYPE(str1) != T_STRING && BUILTIN_TYPE(str1) != T_REGEXP) {
|
||||||
rb_raise(rb_eTypeError, "wrong argument type Encoding (expected String)");
|
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(str1)) return Qnil;
|
||||||
if (!enc_capable(str2)) return Qnil;
|
if (!enc_capable(str2)) return Qnil;
|
||||||
enc = rb_enc_compatible(str1, str2);
|
enc = rb_enc_compatible(str1, str2);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user