> (vlong)(...|((p)[3]<<24)) sign extends.  Casting the (p)[0]
> to (ulong) has the effect of making the whole 32-bit expression
> unsigned on 32-bit systems, but if ulong is 64 bits, then
> you'll still sign-extend ((p)[3]<<24) during the convertsion
> from int to ulong.

i'd be careful to define ulong to be 32 bits for all plan 9 source
including p9p (using `ulong == unsigned int' if necessary).
otherwise quite a bit more will break.
having fcall.h use u32int is fine too, of course, just to make the point clearer

Reply via email to