From c1a623c55ad4b9e184438653d55f7853ee48ba29 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Wed, 13 May 2015 17:34:53 +0100 Subject: [PATCH] Allow use of standard integer types. Include appropriate headers for standard integer types in e_os2.h This should use stdint.h, inttypes.h or a workaround for systems which have neither. Reviewed-by: Matt Caswell --- include/openssl/e_os2.h | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/include/openssl/e_os2.h b/include/openssl/e_os2.h index 12bad8acc4..9df7d53943 100644 --- a/include/openssl/e_os2.h +++ b/include/openssl/e_os2.h @@ -268,6 +268,45 @@ extern "C" { # define __owur # endif +/* Standard integer types */ +# if defined(__osf__) || defined(__sgi) || defined(__hpux) || defined(OPENSSL_SYS_VMS) +# include +# elif defined(_MSC_VER) && _MSC_VER<=1500 +/* + * minimally required typdefs for systems not supporting inttypes.h or + * stdint.h: currently just older VC++ + */ +typedef signed char int8_t; +typedef unsigned char uint8_t; +typedef short int16_t; +typedef unsigned short uint16_t; +typedef int int32_t; +typedef unsigned int uint32_t; +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; + +# include + +# define INT8_MAX SCHAR_MAX +# define INT8_MIN SCHAR_MIN +# define UINT8_MAX UCHAR_MAX + +# define INT16_MAX SHRT_MAX +# define INT16_MIN SHRT_MIN +# define UINT16_MAX USHRT_MAX + +# define INT32_MAX INT_MAX +# define INT32_MIN INT_MIN +# define UINT32_MAX UINT_MAX + +# define INT64_MAX _I64_MAX +# define INT64_MIN _I64_MIN +# define UINT64_MAX _UI64_MAX + +# else +# include +# endif + #ifdef __cplusplus } #endif -- GitLab