From a1b5cd1ca2fed8844d69631a2574e3a79f61ab87 Mon Sep 17 00:00:00 2001 From: yugui Date: Wed, 20 May 2009 12:16:23 +0000 Subject: [PATCH] * rb_enc_get_index: allows an arbitrary RData as the argument but not only what points a rb_encoding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ encoding.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index 9cb4803f2f..818288ccf8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed May 20 21:00:27 2009 Yuki Sonoda (Yugui) + + * rb_enc_get_index: allows an arbitrary RData as the argument but not + only what points a rb_encoding. + Wed May 20 20:54:37 2009 Yuki Sonoda (Yugui) * spec/.gitignore: ignores rubyspec/ and mspec/. diff --git a/encoding.c b/encoding.c index 4ef45cd65e..574193a96f 100644 --- a/encoding.c +++ b/encoding.c @@ -566,6 +566,7 @@ rb_enc_get_index(VALUE obj) VALUE tmp; switch (BUILTIN_TYPE(obj)) { +as_default: default: case T_STRING: case T_REGEXP: @@ -586,6 +587,9 @@ rb_enc_get_index(VALUE obj) if (RDATA(obj)->dmark == enc_mark) { i = enc_check_encoding(obj); } + else { + goto as_default; + } break; } return i;