pcsc-lite 1.7.2
|
00001 /* 00002 * Copyright (C) 2007 00003 * Jacob Berkman 00004 * Copyright (C) 2008 00005 * Ludovic Rousseau <ludovic.rousseau@free.fr> 00006 */ 00007 00008 #ifndef LASSERT_H 00009 #define LASSERT_H 00010 00011 #include <stdio.h> 00012 #include <stdlib.h> 00013 00014 #if 0 00015 #define FAIL exit (1) 00016 #else 00017 #define FAIL return 1 00018 #endif 00019 00020 #define LASSERT(cond) \ 00021 ({ \ 00022 if (! (cond)) \ 00023 { \ 00024 fprintf (stderr, "%s:%d: assertion FAILED: " #cond "\n", \ 00025 __FILE__, __LINE__); \ 00026 FAIL; \ 00027 } \ 00028 }) 00029 00030 #define LASSERTF(cond, fmt, a...) \ 00031 ({ \ 00032 if (! (cond)) \ 00033 { \ 00034 fprintf (stderr, "%s:%d: assertion FAILED: " #cond ": " fmt, \ 00035 __FILE__, __LINE__, ## a); \ 00036 FAIL; \ 00037 } \ 00038 }) 00039 00040 #endif /* LASSERT_H */