diff --git a/include/crypto_types.h b/include/crypto_types.h index f23251df14d1b34be58f3b0c800d8bd14bc3e5a5..f30da6ec46acfba4b3ae09f5c2ee1a3e18d867a5 100644 --- a/include/crypto_types.h +++ b/include/crypto_types.h @@ -6,19 +6,42 @@ #define CRYPTO_TYPES_H_INCLUDED #ifdef PIKE -#include "pike_types.h" -#include "global.h" -#define UINT32 unsigned INT32 -#define UINT16 unsigned INT16 -#define UINT8 unsigned INT8 +# include "pike_types.h" +# include "global.h" +# define UINT32 unsigned INT32 +# define UINT16 unsigned INT16 +# define UINT8 unsigned INT8 #else /* !PIKE */ -#ifdef LSH -#include "lsh_types.h" -#else /* !LSH */ -#define UINT32 unsigned long -#define UINT16 unsigned short -#define UINT8 unsigned char -#endif + +# ifdef LSH +# ifdef HAVE_CONFIG_H +# include "config.h" +# endif +# if SIZEOF_SHORT >= 4 +# define UINT32 unsigned short +# elif SIZEOF_INT >= 4 +# define UINT32 unsigned int +# elif SIZEOF_LONG >= 4 +# define UINT32 unsigned long +# else +# error Ledsen error +# endif /* UINT32 */ + +# if SIZEOF_SHORT >= 2 +# define UINT16 unsigned short +# elif SIZEOF_INT >= 2 +# define UINT16 unsigned int +# else +# error Ledsen error +# endif /* UINT16 */ + +# define UINT8 unsigned char + +# else /* !LSH */ +# define UINT32 unsigned long +# define UINT16 unsigned short +# define UINT8 unsigned char +# endif /* !PIKE */ #endif #endif /* CRYPTO_TYPES_H_INCLUDED */