From a8cf451714d1794f4bd95c422391ca5574735d41 Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 9 Aug 2009 22:02:31 +0000 Subject: [PATCH] * marshal.c (must_not_be_anonymous): fixed silly miss. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- marshal.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/marshal.c b/marshal.c index 3e6937f1d493cc..300391191eff3b 100644 --- a/marshal.c +++ b/marshal.c @@ -168,7 +168,7 @@ mark_dump_arg(void *ptr) rb_mark_hash(p->compat_tbl); } -static void +static const char * must_not_be_anonymous(const char *type, VALUE path) { char *n = RSTRING_PTR(path); @@ -178,17 +178,19 @@ must_not_be_anonymous(const char *type, VALUE path) rb_raise(rb_eTypeError, "can't dump non-ascii %s name", type); } if (n[0] == '#') { - rb_raise(rb_eTypeError, "can't dump anonymous %s %s", type, + rb_raise(rb_eTypeError, "can't dump anonymous %s %.*s", type, (int)RSTRING_LEN(path), n); } + return n; } static VALUE class2path(VALUE klass) { VALUE path = rb_class_path(klass); + const char *n; - must_not_be_anonymous((TYPE(klass) == T_CLASS ? "class" : "module"), path); + n = must_not_be_anonymous((TYPE(klass) == T_CLASS ? "class" : "module"), path); if (rb_path_to_class(path) != rb_class_real(klass)) { rb_raise(rb_eTypeError, "%s can't be referred to", n); }