00001 /* 00002 * fail.h 00003 * Copyright (C) 1998-2000 A.J. van Os; Released under GPL 00004 * 00005 * Description: 00006 * Support for an alternative form of assert() 00007 */ 00008 00009 #if !defined(__fail_h) 00010 #define __fail_h 1 00011 00012 #undef fail 00013 00014 #if defined(NDEBUG) 00015 #define fail(e) ((void)0) 00016 #else 00017 #define fail(e) ((e) ? __fail(#e, __FILE__, __LINE__) : (void)0) 00018 #endif /* NDEBUG */ 00019 00020 extern void __fail(char *, char *, int); 00021 00022 #endif /* __fail_h */