pcsc-lite 1.5.5
|
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 */