From 08be489bf5d1477681573f9ac7e26779127cacee Mon Sep 17 00:00:00 2001 From: Sean Parkinson Date: Fri, 26 Mar 2021 09:03:39 +1000 Subject: [PATCH] SP int: Handle ULLONG_MAX not being defined --- wolfssl/wolfcrypt/sp_int.h | 40 +++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/wolfssl/wolfcrypt/sp_int.h b/wolfssl/wolfcrypt/sp_int.h index 8083e6404..9f247daf0 100644 --- a/wolfssl/wolfcrypt/sp_int.h +++ b/wolfssl/wolfcrypt/sp_int.h @@ -113,29 +113,33 @@ extern "C" { #error "Size of unsigned long not detected" #endif -#if ULLONG_MAX == 18446744073709551615ULL - #define SP_ULLONG_BITS 64 +#ifdef ULLONG_MAX + #if ULLONG_MAX == 18446744073709551615ULL + #define SP_ULLONG_BITS 64 - #if SP_ULLONG_BITS > SP_ULONG_BITS - typedef unsigned long long sp_uint64; - typedef long long sp_int64; - #endif -#elif ULLONG_MAX == 4294967295UL - #define SP_ULLONG_BITS 32 + #if SP_ULLONG_BITS > SP_ULONG_BITS + typedef unsigned long long sp_uint64; + typedef long long sp_int64; + #endif + #elif ULLONG_MAX == 4294967295UL + #define SP_ULLONG_BITS 32 - #if SP_ULLONG_BITS > SP_ULONG_BITS - typedef unsigned long long sp_uint32; - typedef long long sp_int32; - #endif -#elif ULLONG_MAX == 65535 - #define SP_ULLONG_BITS 16 + #if SP_ULLONG_BITS > SP_ULONG_BITS + typedef unsigned long long sp_uint32; + typedef long long sp_int32; + #endif + #elif ULLONG_MAX == 65535 + #define SP_ULLONG_BITS 16 - #if SP_ULLONG_BITS > SP_ULONG_BITS - typedef unsigned long long sp_uint16; - typedef long long sp_int16; + #if SP_ULLONG_BITS > SP_ULONG_BITS + typedef unsigned long long sp_uint16; + typedef long long sp_int16; + #endif + #else + #error "Size of unsigned long long not detected" #endif #else - #error "Size of unsigned long long not detected" + #define SP_ULLONG_BITS 0 #endif