mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
error.c (mrb_bug): avoid formatting in mrb_bug()
Since mrb_bug() would be called under the abnormal situation (and should not be called if possible), the process should be minimal.
This commit is contained in:
+1
-1
@@ -1357,7 +1357,7 @@ MRB_API mrb_noreturn void mrb_name_error(mrb_state *mrb, mrb_sym id, const char
|
||||
MRB_API mrb_noreturn void mrb_frozen_error(mrb_state *mrb, void *frozen_obj);
|
||||
MRB_API mrb_noreturn void mrb_argnum_error(mrb_state *mrb, mrb_int argc, int min, int max);
|
||||
MRB_API void mrb_warn(mrb_state *mrb, const char *fmt, ...);
|
||||
MRB_API mrb_noreturn void mrb_bug(mrb_state *mrb, const char *fmt, ...);
|
||||
MRB_API mrb_noreturn void mrb_bug(mrb_state *mrb, const char *mesg);
|
||||
MRB_API void mrb_print_backtrace(mrb_state *mrb);
|
||||
MRB_API void mrb_print_error(mrb_state *mrb);
|
||||
/* function for `raisef` formatting */
|
||||
|
||||
+3
-8
@@ -443,17 +443,12 @@ mrb_warn(mrb_state *mrb, const char *fmt, ...)
|
||||
}
|
||||
|
||||
MRB_API mrb_noreturn void
|
||||
mrb_bug(mrb_state *mrb, const char *fmt, ...)
|
||||
mrb_bug(mrb_state *mrb, const char *mesg)
|
||||
{
|
||||
#ifndef MRB_NO_STDIO
|
||||
va_list ap;
|
||||
mrb_value str;
|
||||
|
||||
va_start(ap, fmt);
|
||||
str = mrb_vformat(mrb, fmt, ap);
|
||||
fputs("bug: ", stderr);
|
||||
fwrite(RSTRING_PTR(str), RSTRING_LEN(str), 1, stderr);
|
||||
va_end(ap);
|
||||
fputs(mesg, stderr);
|
||||
fputs("\n", stderr);
|
||||
#endif
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user