From 457abf4c9ef91f0f888791c67598218091b55d8b Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 6 May 2022 16:45:17 +0900 Subject: [PATCH] error.c: now `mrb_exc_mesg_get()` returns a string or nil. --- src/error.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/error.c b/src/error.c index 40abc2a84d..8773f13477 100644 --- a/src/error.c +++ b/src/error.c @@ -137,10 +137,9 @@ exc_to_s(mrb_state *mrb, mrb_value exc) mrb_value mrb_exc_inspect(mrb_state *mrb, mrb_value exc) { - mrb_value mesg = mrb_exc_mesg_get(mrb, mrb_exc_ptr(exc)); mrb_value cname = mrb_mod_to_s(mrb, mrb_obj_value(mrb_obj_class(mrb, exc))); - mesg = mrb_obj_as_string(mrb, mesg); - return RSTRING_LEN(mesg) == 0 ? cname : mrb_format(mrb, "%v (%v)", mesg, cname); + mrb_value mesg = mrb_exc_mesg_get(mrb, mrb_exc_ptr(exc)); /* string or nil */ + return (mrb_nil_p(mesg)||RSTRING_LEN(mesg)==0) ? cname : mrb_format(mrb, "%v (%v)", mesg, cname); } void mrb_keep_backtrace(mrb_state *mrb, mrb_value exc);