diff --git a/ChangeLog b/ChangeLog index 4c0444fd46..a07bb1de5f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Dec 21 15:16:00 2007 Nobuyoshi Nakada + + * encoding.c (rb_to_encoding_index): should return error instead of + exception even if type is incorrect. + Fri Dec 21 14:58:27 2007 Yukihiro Matsumoto * enumerator.c (enumerator_init_copy): prohibit cloning of diff --git a/encoding.c b/encoding.c index ba83837f49..819ac54071 100644 --- a/encoding.c +++ b/encoding.c @@ -81,6 +81,9 @@ rb_to_encoding_index(VALUE enc) if (idx >= 0) { return idx; } + else if (NIL_P(enc = rb_check_string_type(enc))) { + return -1; + } else { return rb_enc_find_index(StringValueCStr(enc)); }