ruby-changes:3621
From: ko1@a...
Date: Fri, 18 Jan 2008 15:56:22 +0900 (JST)
Subject: [ruby-changes:3621] nobu - Ruby:r15110 (trunk): * encoding.c (rb_enc_name_list_i, rb_enc_aliases_enc_i): freeze
nobu 2008-01-18 15:56:06 +0900 (Fri, 18 Jan 2008)
New Revision: 15110
Modified files:
trunk/ChangeLog
trunk/encoding.c
Log:
* encoding.c (rb_enc_name_list_i, rb_enc_aliases_enc_i): freeze
element strings to be returned.
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=15110&r2=15109&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/encoding.c?r1=15110&r2=15109&diff_format=u
Index: encoding.c
===================================================================
--- encoding.c (revision 15109)
+++ encoding.c (revision 15110)
@@ -1112,7 +1112,9 @@
rb_enc_name_list_i(st_data_t name, st_data_t idx, st_data_t arg)
{
VALUE ary = (VALUE)arg;
- rb_ary_push(ary, rb_str_new2((char *)name));
+ VALUE str = rb_str_new2((char *)name);
+ OBJ_FREEZE(str);
+ rb_ary_push(ary, str);
return ST_CONTINUE;
}
@@ -1144,10 +1146,9 @@
rb_enc_aliases_enc_i(st_data_t name, st_data_t orig, st_data_t arg)
{
VALUE *p = (VALUE *)arg;
- VALUE aliases = p[0];
- VALUE ary = p[1];
+ VALUE aliases = p[0], ary = p[1];
int idx = (int)orig;
- VALUE str = rb_ary_entry(ary, idx);
+ VALUE key, str = rb_ary_entry(ary, idx);
if (NIL_P(str)) {
rb_encoding *enc = rb_enc_from_index(idx);
@@ -1156,9 +1157,12 @@
return ST_CONTINUE;
}
str = rb_str_new2(rb_enc_name(enc));
+ OBJ_FREEZE(str);
rb_ary_store(ary, idx, str);
}
- rb_hash_aset(aliases, rb_str_new2((char *)name), str);
+ key = rb_str_new2((char *)name);
+ OBJ_FREEZE(key);
+ rb_hash_aset(aliases, key, str);
return ST_CONTINUE;
}
Index: ChangeLog
===================================================================
--- ChangeLog (revision 15109)
+++ ChangeLog (revision 15110)
@@ -1,3 +1,8 @@
+Fri Jan 18 15:56:04 2008 Nobuyoshi Nakada <nobu@r...>
+
+ * encoding.c (rb_enc_name_list_i, rb_enc_aliases_enc_i): freeze
+ element strings to be returned.
+
Fri Jan 18 14:36:34 2008 Kazuhiro NISHIYAMA <zn@m...>
* test/ruby/test_m17n.rb (test_str_dump): added test for
--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/