blob: c5c12c8d5d23e6ae8c7fa04506492a23676771f1 [file] [log] [blame] [raw]
#include <string.h>
#include <assert.h>
#include <windows.h>
#define FORMAT "%s:%d: Assertion `%s' failed."
void _assert(const char *msg, const char *file, int line) {
size_t len = strlen(msg) + strlen(file) + sizeof FORMAT + 2 + 8 - 6;
char text[len];
wchar_t wtext[len];
sprintf(text, FORMAT, file, line, msg);
fputs(text, stderr);
fputc('\n', stderr);
mbstowcs(wtext, text, len);
OutputDebugStringW(wtext);
MessageBoxW(NULL, wtext, L"Assertion failed", 0);
abort();
}