tomcrypt_argchk.h revision 29698e296e3fd1474a362fbd229bca888175bb66
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