diff --git a/include/extern.h b/include/extern.h index abea20a68..5812366f2 100644 --- a/include/extern.h +++ b/include/extern.h @@ -1932,7 +1932,7 @@ E void VDECL(verbalize, (const char *, ...)) PRINTF_F(1, 2); E void VDECL(raw_printf, (const char *, ...)) PRINTF_F(1, 2); E void VDECL(impossible, (const char *, ...)) PRINTF_F(1, 2); E void VDECL(config_error_add, (const char *, ...)) PRINTF_F(1, 2); -E void FDECL(nhassert_failed, (const char *, int)); +E void FDECL(nhassert_failed, (const char *, const char *, int)); /* ### polyself.c ### */ diff --git a/include/global.h b/include/global.h index 1bcc2ae5d..ada34523c 100644 --- a/include/global.h +++ b/include/global.h @@ -378,7 +378,7 @@ struct savefile_info { /* Supply nhassert macro if not supplied by port */ #ifndef nhassert #define nhassert(expression) (void)((!!(expression)) || \ - (nhassert_failed(__FILE__, __LINE__), 0)) + (nhassert_failed(#expression, __FILE__, __LINE__), 0)) #endif #endif /* GLOBAL_H */ diff --git a/include/ntconf.h b/include/ntconf.h index 0c76ed718..62c269bab 100644 --- a/include/ntconf.h +++ b/include/ntconf.h @@ -134,8 +134,6 @@ extern void NDECL(getlock); #ifndef HAS_STDINT_H #define HAS_STDINT_H /* force include of stdint.h in integer.h */ #endif -/* Turn on some additional warnings */ -#pragma warning(3:4389) #endif /* _MSC_VER */ /* The following is needed for prototypes of certain functions */ @@ -272,14 +270,4 @@ extern int FDECL(alternative_palette, (char *)); #define nethack_enter(argc, argv) nethack_enter_winnt() extern void FDECL(nethack_exit, (int)) NORETURN; extern boolean FDECL(file_exists, (const char *)); - -/* Override the default version of nhassert. The default version is unable - * to generate a string form of the expression due to the need to be - * compatible with compilers which do not support macro stringization (i.e. - * #x to turn x into its string form). - */ -extern void FDECL(nt_assert_failed, (const char *, const char *, int)); -#define nhassert(expression) (void)((!!(expression)) || \ - (nt_assert_failed(#expression, __FILE__, __LINE__), 0)) - #endif /* NTCONF_H */ diff --git a/src/pline.c b/src/pline.c index 91e825963..535b75e95 100644 --- a/src/pline.c +++ b/src/pline.c @@ -583,20 +583,9 @@ VA_DECL(const char *, str) } /* nhassert_failed is called when an nhassert's condition is false */ -void -nhassert_failed(filepath, line) - const char * filepath; - int line; +void nhassert_failed(const char * exp, const char * file, int line) { - const char * filename; - - /* attempt to get filename from path. TODO: we really need a port provided - * function to return a filename from a path */ - filename = strrchr(filepath, '/'); - filename = (filename == NULL ? strrchr(filepath, '\\') : filename); - filename = (filename == NULL ? filepath : filename + 1); - - impossible("nhassert failed in file '%s' at line %d", filename, line); + impossible("NHASSERT(%s) in '%s' at line %d", exp, file, line); } /*pline.c*/ diff --git a/sys/winnt/winnt.c b/sys/winnt/winnt.c index 8d513c59e..0e19e1f76 100644 --- a/sys/winnt/winnt.c +++ b/sys/winnt/winnt.c @@ -708,23 +708,6 @@ sys_random_seed(VOID_ARGS) } return ourseed; } - -/* nt_assert_failed is called when an nhassert's condition is false */ -void -nt_assert_failed(expression, filepath, line) - const char * expression; - const char * filepath; - int line; -{ - const char * filename; - - /* get file name from path */ - filename = strrchr(filepath, '\\'); - filename = (filename == NULL ? filepath : filename + 1); - impossible("nhassert(%s) failed in file '%s' at line %d", - expression, filename, line); -} - #endif /* WIN32 */ /*winnt.c*/