> > ># > 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