change mrb_bug to get mrb_state and %S formatter

This commit is contained in:
Yukihiro "Matz" Matsumoto
2013-05-10 22:11:28 +09:00
parent fad8b1cefa
commit b7a24de377
4 changed files with 12 additions and 10 deletions
+8 -6
View File
@@ -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
View File
@@ -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);
}
}