1/* Defines the LTC_ARGCHK macro used within the library */
2/* ARGTYPE is defined in mycrypt_cfg.h */
3#if ARGTYPE == 0
4
5#include <signal.h>
6
7/* this is the default LibTomCrypt macro  */
8void crypt_argchk(char *v, char *s, int d);
9#define LTC_ARGCHK(x) if (!(x)) { crypt_argchk(#x, __FILE__, __LINE__); }
10#define LTC_ARGCHKVD(x) LTC_ARGCHK(x)
11
12#elif ARGTYPE == 1
13
14/* fatal type of error */
15#define LTC_ARGCHK(x) assert((x))
16#define LTC_ARGCHKVD(x) LTC_ARGCHK(x)
17
18#elif ARGTYPE == 2
19
20#define LTC_ARGCHK(x) if (!(x)) { fprintf(stderr, "\nwarning: ARGCHK failed at %s:%d\n", __FILE__, __LINE__); }
21#define LTC_ARGCHKVD(x) LTC_ARGCHK(x)
22
23#elif ARGTYPE == 3
24
25#define LTC_ARGCHK(x)
26#define LTC_ARGCHKVD(x) LTC_ARGCHK(x)
27
28#elif ARGTYPE == 4
29
30#define LTC_ARGCHK(x)   if (!(x)) return CRYPT_INVALID_ARG;
31#define LTC_ARGCHKVD(x) if (!(x)) return;
32
33#endif
34
35
36/* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt_argchk.h,v $ */
37/* $Revision: 1.5 $ */
38/* $Date: 2006/08/27 20:50:21 $ */
39