lassert.h

00001 #ifndef LASSERT_H
00002 #define LASSERT_H
00003 
00004 #include <stdio.h>
00005 #include <stdlib.h>
00006 
00007 #if 0
00008 #define FAIL exit (1)
00009 #else
00010 #define FAIL return 1
00011 #endif
00012 
00013 #define LASSERT(cond)                                                   \
00014     ({                                                                  \
00015         if (cond)                                                       \
00016             ;                                                           \
00017         else {                                                          \
00018             fprintf (stderr, "%s:%d: assertion FAILED: " #cond "\n",    \
00019                      __FILE__, __LINE__);                               \
00020             FAIL;                                                       \
00021         }                                                               \
00022     })
00023 
00024 #define LASSERTF(cond, fmt, a...)                                       \
00025     ({                                                                  \
00026         if (cond)                                                       \
00027             ;                                                           \
00028         else {                                                          \
00029             fprintf (stderr, "%s:%d: assertion FAILED: " #cond ": " fmt, \
00030                      __FILE__, __LINE__, ## a);                         \
00031             FAIL;                                                       \
00032         }                                                               \
00033     })
00034 
00035 #endif /* LASSERT_H */

Generated on Mon Aug 17 01:00:09 2009 for pcsc-lite by  doxygen 1.5.9