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(raw_printf, (const char *, ...)) PRINTF_F(1, 2);
|
||||||
E void VDECL(impossible, (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 VDECL(config_error_add, (const char *, ...)) PRINTF_F(1, 2);
|
||||||
|
E void FDECL(nhassert_failed, (const char *, const char *, int));
|
||||||
|
|
||||||
/* ### polyself.c ### */
|
/* ### polyself.c ### */
|
||||||
|
|
||||||
|
|||||||
@@ -427,8 +427,8 @@ struct savefile_info {
|
|||||||
|
|
||||||
/* Supply nhassert macro if not supplied by port */
|
/* Supply nhassert macro if not supplied by port */
|
||||||
#ifndef nhassert
|
#ifndef nhassert
|
||||||
#define nhassert(e) ((void)0)
|
#define nhassert(expression) (void)((!!(expression)) || \
|
||||||
|
(nhassert_failed(#expression, __FILE__, __LINE__), 0))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#endif /* GLOBAL_H */
|
#endif /* GLOBAL_H */
|
||||||
|
|||||||
@@ -273,16 +273,6 @@ extern int FDECL(set_win32_option, (const char *, const char *));
|
|||||||
extern int FDECL(alternative_palette, (char *));
|
extern int FDECL(alternative_palette, (char *));
|
||||||
#endif
|
#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()
|
#define nethack_enter(argc, argv) nethack_enter_winnt()
|
||||||
extern void FDECL(nethack_exit, (int)) NORETURN;
|
extern void FDECL(nethack_exit, (int)) NORETURN;
|
||||||
extern boolean FDECL(file_exists, (const char *));
|
extern boolean FDECL(file_exists, (const char *));
|
||||||
|
|||||||
@@ -619,4 +619,10 @@ VA_DECL(const char *, str)
|
|||||||
#endif
|
#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*/
|
/*pline.c*/
|
||||||
|
|||||||
@@ -483,16 +483,6 @@ char *buf;
|
|||||||
}
|
}
|
||||||
#endif /* RUNTIME_PORT_ID */
|
#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
|
void
|
||||||
nethack_exit(code)
|
nethack_exit(code)
|
||||||
int code;
|
int code;
|
||||||
|
|||||||
Reference in New Issue
Block a user