summaryrefslogtreecommitdiffhomepage
path: root/src/class.c
diff options
context:
space:
mode:
authorHiroshi Mimaki <[email protected]>2019-10-23 15:44:21 +0900
committerHiroshi Mimaki <[email protected]>2019-10-23 15:44:21 +0900
commit4eb8fca14008222ad3f835c29678fa11ad2c06b5 (patch)
treefd05103a2e73accd33f28c4c48721f9a06b1cc59 /src/class.c
parent4c91adc4b209163f4609e308bf773c6833513b55 (diff)
parentfa85f91e0e3ebff7b2626bfcf550821445c064d7 (diff)
downloadmruby-4eb8fca14008222ad3f835c29678fa11ad2c06b5.tar.gz
mruby-4eb8fca14008222ad3f835c29678fa11ad2c06b5.zip
Merge branch 'master' into stable
Diffstat (limited to 'src/class.c')
-rw-r--r--src/class.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/class.c b/src/class.c
index b1c7513de..2656806d2 100644
--- a/src/class.c
+++ b/src/class.c
@@ -145,7 +145,7 @@ class_name_str(mrb_state *mrb, struct RClass* c)
if (mrb_nil_p(path)) {
path = c->tt == MRB_TT_MODULE ? mrb_str_new_lit(mrb, "#<Module:") :
mrb_str_new_lit(mrb, "#<Class:");
- mrb_str_concat(mrb, path, mrb_ptr_to_str(mrb, c));
+ mrb_str_cat_str(mrb, path, mrb_ptr_to_str(mrb, c));
mrb_str_cat_lit(mrb, path, ">");
}
return path;
@@ -1885,7 +1885,8 @@ mrb_mod_to_s(mrb_state *mrb, mrb_value klass)
return mrb_str_cat_lit(mrb, str, ">");
}
else {
- return class_name_str(mrb, mrb_class_ptr(klass));
+ mrb_value str = class_name_str(mrb, mrb_class_ptr(klass));
+ return mrb_frozen_p(mrb_basic_ptr(str)) ? mrb_str_dup(mrb, str) : str;
}
}