From fa23cb10216bee49b6d494ea41d5d98e71ff26ea Mon Sep 17 00:00:00 2001 From: Masaki Muranaka Date: Thu, 28 Mar 2013 17:43:24 +0900 Subject: Fix argunum_error() to use mrb_format(). --- src/vm.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/vm.c b/src/vm.c index f067d82b8..336d6476c 100644 --- a/src/vm.c +++ b/src/vm.c @@ -464,20 +464,19 @@ localjump_error(mrb_state *mrb, localjump_error_kind kind) static void argnum_error(mrb_state *mrb, int num) { - char buf[256]; - size_t len; mrb_value exc; + mrb_value str; if (mrb->ci->mid) { - len = snprintf(buf, sizeof(buf), "'%s': wrong number of arguments (%d for %d)", - mrb_sym2name(mrb, mrb->ci->mid), - mrb->ci->argc, num); + str = mrb_format(mrb, "'%S': wrong number of arguments (%S for %S)", + mrb_sym2str(mrb, mrb->ci->mid), + mrb_fixnum_value(mrb->ci->argc), mrb_fixnum_value(num)); } else { - len = snprintf(buf, sizeof(buf), "wrong number of arguments (%d for %d)", - mrb->ci->argc, num); + str = mrb_format(mrb, "wrong number of arguments (%S for %S)", + mrb_fixnum_value(mrb->ci->argc), mrb_fixnum_value(num)); } - exc = mrb_exc_new(mrb, E_ARGUMENT_ERROR, buf, len); + exc = mrb_exc_new3(mrb, E_ARGUMENT_ERROR, str); mrb->exc = mrb_obj_ptr(exc); } -- cgit v1.2.3