diff options
Diffstat (limited to 'src/lib/libcrypto/rand/rand_vms.c')
| -rw-r--r-- | src/lib/libcrypto/rand/rand_vms.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/lib/libcrypto/rand/rand_vms.c b/src/lib/libcrypto/rand/rand_vms.c index 1267a3acae..0bfd8ff7e4 100644 --- a/src/lib/libcrypto/rand/rand_vms.c +++ b/src/lib/libcrypto/rand/rand_vms.c | |||
| @@ -69,6 +69,17 @@ | |||
| 69 | # pragma message disable DOLLARID | 69 | # pragma message disable DOLLARID |
| 70 | #endif | 70 | #endif |
| 71 | 71 | ||
| 72 | /* Use 32-bit pointers almost everywhere. Define the type to which to | ||
| 73 | * cast a pointer passed to an external function. | ||
| 74 | */ | ||
| 75 | #if __INITIAL_POINTER_SIZE == 64 | ||
| 76 | # define PTR_T __void_ptr64 | ||
| 77 | # pragma pointer_size save | ||
| 78 | # pragma pointer_size 32 | ||
| 79 | #else /* __INITIAL_POINTER_SIZE == 64 */ | ||
| 80 | # define PTR_T void * | ||
| 81 | #endif /* __INITIAL_POINTER_SIZE == 64 [else] */ | ||
| 82 | |||
| 72 | static struct items_data_st | 83 | static struct items_data_st |
| 73 | { | 84 | { |
| 74 | short length, code; /* length is amount of bytes */ | 85 | short length, code; /* length is amount of bytes */ |
| @@ -125,11 +136,12 @@ int RAND_poll(void) | |||
| 125 | { | 136 | { |
| 126 | if (status == SS$_NORMAL) | 137 | if (status == SS$_NORMAL) |
| 127 | { | 138 | { |
| 128 | RAND_add(data_buffer, total_length, total_length/2); | 139 | RAND_add( (PTR_T)data_buffer, total_length, |
| 140 | total_length/2); | ||
| 129 | } | 141 | } |
| 130 | } | 142 | } |
| 131 | sys$gettim(iosb); | 143 | sys$gettim(iosb); |
| 132 | RAND_add((unsigned char *)iosb, sizeof(iosb), sizeof(iosb)/2); | 144 | RAND_add( (PTR_T)iosb, sizeof(iosb), sizeof(iosb)/2); |
| 133 | return 1; | 145 | return 1; |
| 134 | } | 146 | } |
| 135 | 147 | ||
