Fix pointer size issues on VMS
authorRichard Levitte <levitte@openssl.org>
Wed, 30 Mar 2016 04:40:37 +0000 (06:40 +0200)
committerRichard Levitte <levitte@openssl.org>
Wed, 30 Mar 2016 18:25:08 +0000 (20:25 +0200)
commitfcd9c8c0149d989bf0ab28e14bbaa49e5060db9b
tree0e50cde9c606af2f8344c9fd9eed6bcb5c3d0746
parent622c7e99a9e9c4632b483895cf2dc5edaa2e52bd
Fix pointer size issues on VMS

On VMS, the C compiler can work with 32-bit and 64-bit pointers, and
the command line determines what the initial pointer size shall be.

However, there is some functionality that only works with 32-bit
pointers.  In this case, it's gethostbyname(), getservbyname() and
accompanying structures, so we need to make sure that we define our
own pointers as 32-bit ones.

Furthermore, there seems to be a bug in VMS C netdb.h, where struct
addrinfo is always defined with 32-bit pointers no matter what, but
the functions handling it are adapted to the initial pointer size.
This leads to pointer size warnings when compiling with
/POINTER_SIZE=64.  The workaround is to force struct addrinfo to be
the 64-bit variant if the initial pointer size is 64.

Reviewed-by: Andy Polyakov <appro@openssl.org>
crypto/bio/b_addr.c
crypto/bio/bio_lcl.h