Place assertf and printf to package fmt

This commit is contained in:
gingerBill
2018-08-30 12:10:16 +01:00
parent c19ec5d65d
commit 6a3697279c
2 changed files with 21 additions and 26 deletions
+21
View File
@@ -192,6 +192,27 @@ bprintf :: proc(buf: []byte, fmt: string, args: ..any) -> string {
}
assertf :: proc "contextless" (condition: bool, fmt: string, args: ..any, loc := #caller_location) -> bool {
if !condition {
p := context.assertion_failure_proc;
if p == nil {
p = runtime.default_assertion_failure_proc;
}
message := tprintf(fmt, ..args);
p("Runtime assertion", message, loc);
}
return condition;
}
panicf :: proc "contextless" (fmt: string, args: ..any, loc := #caller_location) {
p := context.assertion_failure_proc;
if p == nil {
p = runtime.default_assertion_failure_proc;
}
message := tprintf(fmt, ..args);
p("Panic", message, loc);
}