From ab6963043df202bde77d67dfabff41cc3e7c11c8 Mon Sep 17 00:00:00 2001 From: matz Date: Tue, 16 Mar 2004 23:03:17 +0000 Subject: * error.c (exc_initialize): calling 'to_str' each time just for type checking is too heavy. [ruby-core:02661] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- error.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'error.c') diff --git a/error.c b/error.c index c0999f84c9..efa43f38ae 100644 --- a/error.c +++ b/error.c @@ -327,7 +327,7 @@ rb_exc_new3(etype, str) VALUE etype, str; { StringValue(str); - return rb_exc_new(etype, RSTRING(str)->ptr, RSTRING(str)->len); + return rb_funcall(etype, rb_intern("new"), 1, str); } /* @@ -346,10 +346,7 @@ exc_initialize(argc, argv, exc) { VALUE arg; - if (rb_scan_args(argc, argv, "01", &arg) == 1) { - VALUE mesg = arg; - StringValue(mesg); /* ensure mesg can be converted to String */ - } + rb_scan_args(argc, argv, "01", &arg); rb_iv_set(exc, "mesg", arg); rb_iv_set(exc, "bt", Qnil); -- cgit v1.2.3