Home | History | Annotate | Download | only in headers
      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