tomcrypt/mycrypt_argchk.h

36 lines
908 B
C
Raw Normal View History

2003-03-02 19:59:24 -05:00
/* Defines the _ARGCHK macro used within the library */
/* ARGTYPE is defined in mycrypt_cfg.h */
#if ARGTYPE == 0
#include <signal.h>
/* this is the default LibTomCrypt macro
*
* On embedded platforms you can change the fprintf() to be a routine that would display a message
* somehow
*/
2003-03-02 20:01:40 -05:00
#ifdef SMALL_CODE
extern void crypt_argchk(char *v, char *s, int d);
#define _ARGCHK(x) if (!(x)) { crypt_argchk(#x, __FILE__, __LINE__); }
2003-03-02 19:59:24 -05:00
#else
2003-03-02 20:01:40 -05:00
#ifdef SONY_PS2
#define _ARGCHK(x) if (!(x)) { printf("_ARGCHK '%s' failure on line %d of file %s\n", #x, __LINE__, __FILE__); raise(SIGABRT); }
#else
#define _ARGCHK(x) if (!(x)) { fprintf(stderr, "_ARGCHK '%s' failure on line %d of file %s\n", #x, __LINE__, __FILE__); raise(SIGABRT); }
#endif
#endif
2003-03-02 19:59:24 -05:00
#elif ARGTYPE == 1
/* fatal type of error */
#define _ARGCHK(x) assert((x))
#elif ARGTYPE == 2
#define _ARGCHK(x)
#endif