From cf6ae0de6a71ad75bcc8c72416529cab24134890 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Sun, 8 Dec 2019 18:31:41 +0900 Subject: Fix the error message of `Kernel#Float` #### Before this patch: ``` $ bin/mruby -e 'Float("1_a")' -e:1: invalid string for float(a) (ArgumentError) ``` #### After this patch: ``` $ bin/mruby -e 'Float("1_a")' -e:1: invalid string for float("1_a") (ArgumentError) ``` --- src/string.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/string.c') diff --git a/src/string.c b/src/string.c index dcf338eab..61fbd4ded 100644 --- a/src/string.c +++ b/src/string.c @@ -2492,8 +2492,9 @@ mrb_str_to_i(mrb_state *mrb, mrb_value self) #ifndef MRB_WITHOUT_FLOAT MRB_API double -mrb_cstr_to_dbl(mrb_state *mrb, const char * p, mrb_bool badcheck) +mrb_cstr_to_dbl(mrb_state *mrb, const char * s, mrb_bool badcheck) { + const char *p = s; char *end; char buf[DBL_DIG * 4 + 10]; double d; @@ -2508,7 +2509,7 @@ mrb_cstr_to_dbl(mrb_state *mrb, const char * p, mrb_bool badcheck) if (p == end) { if (badcheck) { bad: - mrb_raisef(mrb, E_ARGUMENT_ERROR, "invalid string for float(%s)", p); + mrb_raisef(mrb, E_ARGUMENT_ERROR, "invalid string for float(%!s)", s); /* not reached */ } return d; -- cgit v1.2.3