> > ># > 0xfffffffffffff000 for 64 bit systems.  With that changed
> 
> > Don't bother. Make the constant be ~0xfff. :)
> 
> Umm, are you sure?  It's used in an integer context and masked against an 
> IV, so you might need an 'int', a 'long', or a 'long long'.  I'm unsure
> what type to portably assume for C preprocessor constants, but I suspect
> this might not do what you want if an IV is a 'long long'.  (However,
> given that it's operating against an IV that used to be a pointer of a
> possibly different size, everything might just work out fine.)

There should be no need. ~0xfff is singed int, which will be signed extended
by compilers as needed. Unless you are using a buggy compiler.

Hong

Reply via email to