Added nhassert to core.
This commit is contained in:
@@ -2020,6 +2020,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 *, const char *, int));
|
||||
|
||||
/* ### polyself.c ### */
|
||||
|
||||
|
||||
@@ -427,8 +427,8 @@ struct savefile_info {
|
||||
|
||||
/* Supply nhassert macro if not supplied by port */
|
||||
#ifndef nhassert
|
||||
#define nhassert(e) ((void)0)
|
||||
#define nhassert(expression) (void)((!!(expression)) || \
|
||||
(nhassert_failed(#expression, __FILE__, __LINE__), 0))
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* GLOBAL_H */
|
||||
|
||||
@@ -273,16 +273,6 @@ extern int FDECL(set_win32_option, (const char *, const char *));
|
||||
extern int FDECL(alternative_palette, (char *));
|
||||
#endif
|
||||
|
||||
#ifdef NDEBUG
|
||||
#define nhassert(expression) ((void)0)
|
||||
#else
|
||||
extern void FDECL(nhassert_failed, (const char * exp, const char * file,
|
||||
int line));
|
||||
|
||||
#define nhassert(expression) (void)((!!(expression)) || \
|
||||
(nhassert_failed(#expression, __FILE__, __LINE__), 0))
|
||||
#endif
|
||||
|
||||
#define nethack_enter(argc, argv) nethack_enter_winnt()
|
||||
extern void FDECL(nethack_exit, (int)) NORETURN;
|
||||
extern boolean FDECL(file_exists, (const char *));
|
||||
|
||||
@@ -619,4 +619,10 @@ VA_DECL(const char *, str)
|
||||
#endif
|
||||
}
|
||||
|
||||
/* nhassert_failed is called when an nhassert's condition is false */
|
||||
void nhassert_failed(const char * exp, const char * file, int line)
|
||||
{
|
||||
impossible("NHASSERT(%s) in '%s' at line %d", exp, file, line);
|
||||
}
|
||||
|
||||
/*pline.c*/
|
||||
|
||||
@@ -483,16 +483,6 @@ char *buf;
|
||||
}
|
||||
#endif /* RUNTIME_PORT_ID */
|
||||
|
||||
/* 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);
|
||||
|
||||
impossible(message);
|
||||
}
|
||||
|
||||
void
|
||||
nethack_exit(code)
|
||||
int code;
|
||||
|
||||
Reference in New Issue
Block a user