aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-18 02:39:12 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-18 02:39:12 +0000
commit9f9ac3999676b258ea1b213b6f5d215fc12728bf (patch)
treef49f004607a91e9a58a48626ab531973f6130cd7
parentf28118eb693d721046ed8ef692724f915f3162e7 (diff)
downloadruby-9f9ac3999676b258ea1b213b6f5d215fc12728bf.tar.gz
* encoding.c (rb_enc_find_index): use original encoding name to
replicate loaded encoding instead alias. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--encoding.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a8be741586..fade6da07d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Jan 18 11:39:10 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * encoding.c (rb_enc_find_index): use original encoding name to
+ replicate loaded encoding instead alias.
+
Fri Jan 18 09:43:02 2008 NAKAMURA Usaku <usa@ruby-lang.org>
* re.c (rb_char_to_option_kcode): Regexp switch `s' should mean
diff --git a/encoding.c b/encoding.c
index 505aaa9dcb..c713a30605 100644
--- a/encoding.c
+++ b/encoding.c
@@ -487,14 +487,16 @@ rb_enc_find_index(const char *name)
if (enc_initialized_p(enc) &&
(base = enc_base_encoding(ENC_FROM_ENCODING(enc)), !NIL_P(base))) {
if ((b = enc_check_encoding(base)) < 0) {
+#if 0
st_data_t key, val;
key = (st_data_t)name;
if (st_delete(enc_table.names, &key, &val)) {
if (enc->name != (char *)key) xfree((char *)key);
}
+#endif
return -1;
}
- enc_register_at(i, name, rb_enc_from_index(b));
+ enc_register_at(i, rb_enc_name(enc), rb_enc_from_index(b));
}
else {
i = load_encoding(rb_enc_name(enc));