aboutsummaryrefslogtreecommitdiffstats
path: root/variable.c
diff options
context:
space:
mode:
authortmm1 <tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-19 19:21:05 +0000
committertmm1 <tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-19 19:21:05 +0000
commit3a90444c553176bac933d385fb27bda3195727a6 (patch)
treea152f8a56d135a88e4e4de4dde1a6063d35b3b1e /variable.c
parent16b445008dc75a5e267b8236d913414ad6b51e2c (diff)
downloadruby-3a90444c553176bac933d385fb27bda3195727a6.tar.gz
* variable.c (rb_class2name): call rb_tmp_class_path() directly to avoid extra rb_str_dup() from rb_class_name().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'variable.c')
-rw-r--r--variable.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/variable.c b/variable.c
index fa4a769b33..1614afb742 100644
--- a/variable.c
+++ b/variable.c
@@ -385,8 +385,10 @@ rb_class_name(VALUE klass)
const char *
rb_class2name(VALUE klass)
{
- VALUE name = rb_class_name(klass);
- return RSTRING_PTR(name);
+ int permanent;
+ VALUE path = rb_tmp_class_path(klass, &permanent, rb_ivar_set);
+ if (NIL_P(path)) return NULL;
+ return RSTRING_PTR(path);
}
const char *