use unit64_t for CPUID and timestamp code

Reviewed-by: Matt Caswell <matt@openssl.org>
This commit is contained in:
Dr. Stephen Henson 2015-05-13 17:47:13 +01:00
parent c1a623c55a
commit 1c7b2c0ed5
2 changed files with 11 additions and 23 deletions

View File

@ -134,11 +134,7 @@ unsigned int *OPENSSL_ia32cap_loc(void)
# if defined(OPENSSL_CPUID_OBJ) && !defined(OPENSSL_NO_ASM) && !defined(I386_ONLY) # if defined(OPENSSL_CPUID_OBJ) && !defined(OPENSSL_NO_ASM) && !defined(I386_ONLY)
# define OPENSSL_CPUID_SETUP # define OPENSSL_CPUID_SETUP
# if defined(_WIN32) typedef uint64_t IA32CAP;
typedef unsigned __int64 IA32CAP;
# else
typedef unsigned long long IA32CAP;
# endif
void OPENSSL_cpuid_setup(void) void OPENSSL_cpuid_setup(void)
{ {
static int trigger = 0; static int trigger = 0;

View File

@ -71,22 +71,14 @@
#define n2s(c,s) ((s=(((unsigned int)(c[0]))<< 8)| \ #define n2s(c,s) ((s=(((unsigned int)(c[0]))<< 8)| \
(((unsigned int)(c[1])) )),c+=2) (((unsigned int)(c[1])) )),c+=2)
#if (defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__) #define n2l8(c,l) (l =((uint64_t)(*((c)++)))<<56, \
# define SCT_TIMESTAMP unsigned __int64 l|=((uint64_t)(*((c)++)))<<48, \
#elif defined(__arch64__) l|=((uint64_t)(*((c)++)))<<40, \
# define SCT_TIMESTAMP unsigned long l|=((uint64_t)(*((c)++)))<<32, \
#else l|=((uint64_t)(*((c)++)))<<24, \
# define SCT_TIMESTAMP unsigned long long l|=((uint64_t)(*((c)++)))<<16, \
#endif l|=((uint64_t)(*((c)++)))<< 8, \
l|=((uint64_t)(*((c)++))))
#define n2l8(c,l) (l =((SCT_TIMESTAMP)(*((c)++)))<<56, \
l|=((SCT_TIMESTAMP)(*((c)++)))<<48, \
l|=((SCT_TIMESTAMP)(*((c)++)))<<40, \
l|=((SCT_TIMESTAMP)(*((c)++)))<<32, \
l|=((SCT_TIMESTAMP)(*((c)++)))<<24, \
l|=((SCT_TIMESTAMP)(*((c)++)))<<16, \
l|=((SCT_TIMESTAMP)(*((c)++)))<< 8, \
l|=((SCT_TIMESTAMP)(*((c)++))))
typedef struct SCT_st { typedef struct SCT_st {
/* The encoded SCT */ /* The encoded SCT */
@ -99,7 +91,7 @@ typedef struct SCT_st {
unsigned char version; unsigned char version;
unsigned char *logid; unsigned char *logid;
unsigned short logidlen; unsigned short logidlen;
SCT_TIMESTAMP timestamp; uint64_t timestamp;
unsigned char *ext; unsigned char *ext;
unsigned short extlen; unsigned short extlen;
unsigned char hash_alg; unsigned char hash_alg;
@ -149,7 +141,7 @@ static void tls12_signature_print(BIO *out, const unsigned char hash_alg,
BIO_printf(out, "%s", OBJ_nid2ln(nid)); BIO_printf(out, "%s", OBJ_nid2ln(nid));
} }
static void timestamp_print(BIO *out, SCT_TIMESTAMP timestamp) static void timestamp_print(BIO *out, uint64_t timestamp)
{ {
ASN1_GENERALIZEDTIME *gen; ASN1_GENERALIZEDTIME *gen;
char genstr[20]; char genstr[20];