diff --git a/sys/winnt/winnt.c b/sys/winnt/winnt.c index d54982975..e9041262d 100644 --- a/sys/winnt/winnt.c +++ b/sys/winnt/winnt.c @@ -478,11 +478,18 @@ char *buf; /* nhassert_failed is called when an nhassert's condition is false */ void nhassert_failed(const char * exp, const char * file, int line) { - char message[BUFSZ]; - snprintf(message, sizeof(message), - "NHASSERT(%s) in '%s' at line %d", exp, file, line); + char message[128]; + _snprintf(message, sizeof(message), + "NHASSERT(%s) in '%s' at line %d\n", exp, file, line); - impossible(message); + if (IsDebuggerPresent()) { + OutputDebugStringA(message); + DebugBreak(); + } + + // strip off the newline + message[strlen(message) - 1] = '\0'; + error(message); } void