summaryrefslogtreecommitdiff
path: root/variable.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-24 16:38:44 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-24 16:38:44 +0000
commit6ca558d6ab8e2553b32a415537c484bffd9b189c (patch)
treecbea16e53963e2f2a0ad8bb830f07fc43f458eb1 /variable.c
parenta04a812ed0aa7424ea1f40756402d1f199a43308 (diff)
* proc.c (method_name): preserve Symbol's encoding.
* numeric.c (fix_id2name): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'variable.c')
-rw-r--r--variable.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/variable.c b/variable.c
index c8919b7bad..90ea33f381 100644
--- a/variable.c
+++ b/variable.c
@@ -45,7 +45,7 @@ fc_path(struct fc_result *fc, ID name)
{
VALUE path, tmp;
- path = rb_str_new2(rb_id2name(name));
+ path = rb_str_dup(rb_id2str(name));
while (fc) {
if (fc->track == rb_cObject) break;
if (RCLASS_IV_TBL(fc->track) &&
@@ -56,7 +56,7 @@ fc_path(struct fc_result *fc, ID name)
path = tmp;
break;
}
- tmp = rb_str_new2(rb_id2name(fc->name));
+ tmp = rb_str_dup(rb_id2str(fc->name));
rb_str_cat2(tmp, "::");
rb_str_append(tmp, path);
path = tmp;
@@ -148,7 +148,7 @@ classname(VALUE klass)
if (!st_lookup(RCLASS_IV_TBL(klass), classid, &path)) {
return find_class_path(klass);
}
- path = rb_str_new2(rb_id2name(SYM2ID(path)));
+ path = rb_str_dup(rb_id2str(SYM2ID(path)));
OBJ_FREEZE(path);
st_insert(RCLASS_IV_TBL(klass), classpath, path);
st_delete(RCLASS_IV_TBL(klass), (st_data_t*)&classid, 0);