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 */ 8 void 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