2 * $Id: zassert.h,v 1.2 2004/12/03 18:01:04 ajs Exp $
5 #ifndef _QUAGGA_ASSERT_H
6 #define _QUAGGA_ASSERT_H
8 extern void _zlog_assert_failed (const char *assertion
, const char *file
,
9 unsigned int line
, const char *function
)
10 __attribute__ ((noreturn
));
12 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
13 #define __ASSERT_FUNCTION __func__
14 #elif defined(__GNUC__)
15 #define __ASSERT_FUNCTION __FUNCTION__
17 #define __ASSERT_FUNCTION NULL
20 #define zassert(EX) ((void)((EX) ? 0 : \
21 (_zlog_assert_failed(#EX, __FILE__, __LINE__, \
22 __ASSERT_FUNCTION), 0)))
25 #define assert(EX) zassert(EX)
27 #endif /* _QUAGGA_ASSERT_H */