"Romberg, Kathy" wrote: > > Folks, > > I am in the process building OpenSSL (0.9.6b) on the Tru64 Unix > (Compaq/Digital Unix) platform and have a few questions for you > regarding the 64-bit safeness of the product. > > There are two options that I use on the Compaq C compiler when checking > the code for potential problems. The first option is -warnprotos, to > catch any missing or incorrectly specified function prototypes. I found > a few issues here, mostly void functions that need to have 'void' > specified in the prototype and have made the appropriate changes. If > you're interested, I'd be happy to send the files I modified back to > you. > > The second option is the -msg_enable 64bit. This option catches things > like assigning long ints (64 bits) to ints (32 bits). This is where I > run into the most questions. There are a lot of places flagged as being > potential problems. In some instances there are explicit casts to the > smaller data type. In others, there is no cast. There are also > instances where the result of a strlen is assigned to an int, rather > than to a size_t, which on Tru64 is a long int. > > My questions are: > 1. How safe is it to assume that the explicit casts from longs are > truely never going to be more than 32 bits? > 2. How much should I worry about the implicit casts?
Casts, implicit or explicit, are evil. But its difficult to make any general statement about them. I'd be kinda interested in fixing the problems since I have a long-term mission to eliminate as many casts as I can... Cheers, Ben. -- http://www.apache-ssl.org/ben.html "There is no limit to what a man can do or how far he can go if he doesn't mind who gets the credit." - Robert Woodruff ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]