pcsc-lite  1.8.8
lassert.h
1 /*
2  * Copyright (C) 2007
3  * Jacob Berkman
4  * Copyright (C) 2008
5  * Ludovic Rousseau <ludovic.rousseau@free.fr>
6  */
7 
8 #ifndef LASSERT_H
9 #define LASSERT_H
10 
11 #include <stdio.h>
12 #include <stdlib.h>
13 
14 #if 0
15 #define FAIL exit (1)
16 #else
17 #define FAIL return 1
18 #endif
19 
20 #define LASSERT(cond) \
21  ({ \
22  if (! (cond)) \
23  { \
24  fprintf (stderr, "%s:%d: assertion FAILED: " #cond "\n", \
25  __FILE__, __LINE__); \
26  FAIL; \
27  } \
28  })
29 
30 #define LASSERTF(cond, fmt, a...) \
31  ({ \
32  if (! (cond)) \
33  { \
34  fprintf (stderr, "%s:%d: assertion FAILED: " #cond ": " fmt, \
35  __FILE__, __LINE__, ## a); \
36  FAIL; \
37  } \
38  })
39 
40 #endif /* LASSERT_H */