bmoeller> bit data pointers). To force C to convert values between
bmoeller> these types, you'd have to cast to some integer type inbetween:
bmoeller>
bmoeller> (void (*)()) (long) cb
This may very well be a problem on architectures where a pointer is 64
bits while a long is 32 bits. I think that some versions of Compaq C
on Alpha (VMS and True64) have this quirk...
bmoeller> But of course this is so complicated because it should never
bmoeller> be done and is not guaranteed to do anything useful. &cb,
bmoeller> on the other hand, is the pointer to some data object; the
bmoeller> function that gets this pointer as an argument has to
bmoeller> retrieve the actual function pointer from inside this data
bmoeller> object, i.e. use *((void (**)()) arg) where arg is the void
bmoeller> * argument passed to it.
I was pondering such a solution, but I foresaw a problem with it:
&strcmp is the same as strcmp, and that might be a difficult bug to
find...
--
Richard Levitte \ Spannv�gen 38, II \ [EMAIL PROTECTED]
Redakteur@Stacken \ S-161 43 BROMMA \ T: +46-8-26 52 47
\ SWEDEN \ or +46-708-26 53 44
Procurator Odiosus Ex Infernis -- [EMAIL PROTECTED]
Unsolicited commercial email is subject to an archival fee of $400.
See <http://www.stacken.kth.se/~levitte/mail/> for more info.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]