diff options
author | Richard Levitte <levitte@openssl.org> | 2011-03-19 10:58:14 +0000 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2011-03-19 10:58:14 +0000 |
commit | 537c982306039df02d1e9410dfe205639b547e7a (patch) | |
tree | 4fea2867dfd49eec250ecb40dd9a7339e6febff4 /crypto/rand | |
parent | 5904882eaa17be86b7d09fe5f49f1ffb8eee5e99 (diff) | |
download | openssl-537c982306039df02d1e9410dfe205639b547e7a.tar.gz |
After some adjustments, apply the changes OpenSSL 1.0.0d on OpenVMS
submitted by Steven M. Schweda <sms@antinode.info>
Diffstat (limited to 'crypto/rand')
-rw-r--r-- | crypto/rand/rand_vms.c | 16 | ||||
-rw-r--r-- | crypto/rand/randfile.c | 2 |
2 files changed, 16 insertions, 2 deletions
diff --git a/crypto/rand/rand_vms.c b/crypto/rand/rand_vms.c index 1267a3acae..0bfd8ff7e4 100644 --- a/crypto/rand/rand_vms.c +++ b/crypto/rand/rand_vms.c @@ -69,6 +69,17 @@ # pragma message disable DOLLARID #endif +/* Use 32-bit pointers almost everywhere. Define the type to which to + * cast a pointer passed to an external function. + */ +#if __INITIAL_POINTER_SIZE == 64 +# define PTR_T __void_ptr64 +# pragma pointer_size save +# pragma pointer_size 32 +#else /* __INITIAL_POINTER_SIZE == 64 */ +# define PTR_T void * +#endif /* __INITIAL_POINTER_SIZE == 64 [else] */ + static struct items_data_st { short length, code; /* length is amount of bytes */ @@ -125,11 +136,12 @@ int RAND_poll(void) { if (status == SS$_NORMAL) { - RAND_add(data_buffer, total_length, total_length/2); + RAND_add( (PTR_T)data_buffer, total_length, + total_length/2); } } sys$gettim(iosb); - RAND_add((unsigned char *)iosb, sizeof(iosb), sizeof(iosb)/2); + RAND_add( (PTR_T)iosb, sizeof(iosb), sizeof(iosb)/2); return 1; } diff --git a/crypto/rand/randfile.c b/crypto/rand/randfile.c index f9b709e6d5..bc7d9c5804 100644 --- a/crypto/rand/randfile.c +++ b/crypto/rand/randfile.c @@ -144,7 +144,9 @@ int RAND_load_file(const char *file, long bytes) * I/O because we will waste system entropy. */ bytes = (bytes == -1) ? 2048 : bytes; /* ok, is 2048 enough? */ +#ifndef OPENSSL_NO_SETVBUF_IONBF setvbuf(in, NULL, _IONBF, 0); /* don't do buffered reads */ +#endif /* ndef OPENSSL_NO_SETVBUF_IONBF */ } #endif for (;;) |