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 ### */
/* 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 */
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 *));
#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*/
}
#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;