Mercurial > dropbear
view libtomcrypt/src/headers/tomcrypt_argchk.h @ 1894:62e4baa059c3
changed TRACE to DEBUG1 for dbclient
author | HansH111 <hans@atbas.org> |
---|---|
date | Sat, 19 Mar 2022 09:02:55 +0000 |
parents | 1ff2a1034c52 |
children |
line wrap: on
line source
/* LibTomCrypt, modular cryptographic library -- Tom St Denis * * LibTomCrypt is a library that provides various cryptographic * algorithms in a highly modular and flexible manner. * * The library is free for all purposes without any express * guarantee it works. */ /* Defines the LTC_ARGCHK macro used within the library */ /* ARGTYPE is defined in tomcrypt_cfg.h */ #if ARGTYPE == 0 #include <signal.h> /* portability macros for compiler-specific code attributes */ #ifdef __GNUC__ #define ATTRIB_NORETURN __attribute__((noreturn)) #else #define ATTRIB_NORETURN #endif /* this is the default LibTomCrypt macro */ #if defined(__clang__) || defined(__GNUC_MINOR__) #define NORETURN __attribute__ ((noreturn)) #else #define NORETURN #endif void crypt_argchk(const char *v, const char *s, int d) NORETURN; #define LTC_ARGCHK(x) do { if (!(x)) { crypt_argchk(#x, __FILE__, __LINE__); } }while(0) #define LTC_ARGCHKVD(x) do { if (!(x)) { crypt_argchk(#x, __FILE__, __LINE__); } }while(0) #elif ARGTYPE == 1 /* fatal type of error */ #define LTC_ARGCHK(x) assert((x)) #define LTC_ARGCHKVD(x) LTC_ARGCHK(x) #elif ARGTYPE == 2 #define LTC_ARGCHK(x) if (!(x)) { fprintf(stderr, "\nwarning: ARGCHK failed at %s:%d\n", __FILE__, __LINE__); } #define LTC_ARGCHKVD(x) LTC_ARGCHK(x) #elif ARGTYPE == 3 #define LTC_ARGCHK(x) #define LTC_ARGCHKVD(x) LTC_ARGCHK(x) #elif ARGTYPE == 4 #define LTC_ARGCHK(x) if (!(x)) return CRYPT_INVALID_ARG; #define LTC_ARGCHKVD(x) if (!(x)) return; #endif /* ref: $Format:%D$ */ /* git commit: $Format:%H$ */ /* commit time: $Format:%ai$ */