mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
change mrb_bug to get mrb_state and %S formatter
This commit is contained in:
+1
-1
@@ -300,7 +300,7 @@ void mrb_raise(mrb_state *mrb, struct RClass *c, const char *msg);
|
||||
void mrb_raisef(mrb_state *mrb, struct RClass *c, const char *fmt, ...);
|
||||
void mrb_name_error(mrb_state *mrb, mrb_sym id, const char *fmt, ...);
|
||||
void mrb_warn(mrb_state *mrb, const char *fmt, ...);
|
||||
void mrb_bug(const char *fmt, ...);
|
||||
void mrb_bug(mrb_state *mrb, const char *fmt, ...);
|
||||
|
||||
/* macros to get typical exception objects
|
||||
note:
|
||||
|
||||
@@ -716,7 +716,7 @@ mrb_struct_equal(mrb_state *mrb, mrb_value s)
|
||||
equal_p = 0;
|
||||
}
|
||||
else if (RSTRUCT_LEN(s) != RSTRUCT_LEN(s2)) {
|
||||
mrb_bug("inconsistent struct"); /* should never happen */
|
||||
mrb_bug(mrb, "inconsistent struct"); /* should never happen */
|
||||
equal_p = 0; /* This substuture is just to suppress warnings. never called. */
|
||||
}
|
||||
else {
|
||||
@@ -760,7 +760,7 @@ mrb_struct_eql(mrb_state *mrb, mrb_value s)
|
||||
eql_p = 0;
|
||||
}
|
||||
else if (RSTRUCT_LEN(s) != RSTRUCT_LEN(s2)) {
|
||||
mrb_bug("inconsistent struct"); /* should never happen */
|
||||
mrb_bug(mrb, "inconsistent struct"); /* should never happen */
|
||||
eql_p = 0; /* This substuture is just to suppress warnings. never called. */
|
||||
}
|
||||
else {
|
||||
|
||||
+8
-6
@@ -327,15 +327,17 @@ mrb_warn(mrb_state *mrb, const char *fmt, ...)
|
||||
}
|
||||
|
||||
void
|
||||
mrb_bug(const char *fmt, ...)
|
||||
mrb_bug(mrb_state *mrb, const char *fmt, ...)
|
||||
{
|
||||
#ifdef ENABLE_STDIO
|
||||
va_list args;
|
||||
va_list ap;
|
||||
mrb_value str;
|
||||
|
||||
va_start(args, fmt);
|
||||
printf("bug: ");
|
||||
vprintf(fmt, args);
|
||||
va_end(args);
|
||||
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);
|
||||
#endif
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
+1
-1
@@ -3209,7 +3209,7 @@ backref_error(parser_state *p, node *n)
|
||||
} else if (c == NODE_BACK_REF) {
|
||||
yyerror_i(p, "can't set variable $%c", (int)(intptr_t)n->cdr);
|
||||
} else {
|
||||
mrb_bug("Internal error in backref_error() : n=>car == %d", c);
|
||||
mrb_bug(p->mrb, "Internal error in backref_error() : n=>car == %d", c);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user