#ifndef __ASSERT_H__
#define __ASSERT_H__

#ifdef NDEBUG
#undef assert
#define assert(EX) ((void)0)
#else
extern void __assert(const char *, const char *, int);
#define assert(EX)  ((EX)?((void)0):__assert( # EX , __FILE__, __LINE__))
#endif /* NDEBUG */

#endif /* !__ASSERT_H__ */