|
From: Bruno H. <br...@cl...> - 2005-05-14 13:54:20
|
Hi,
I've committed a patch that allows for 48-bit fixnums on 64-bit platforms.
Noteworthy changes:
- a new integer type 'uintV' that is the smallest integer type that can
accomodate a nonnegative fixnum's value. Either uint32 or uint64.
- posfixnum_to_L is gone. More precisely, it's replaced with posfixnum_to_V,
which returns a n uintV.
- In modules like rawsock or bdb, it is now a BUG to write
unsigned int foo = posfixnum_to_V(check_posfixnum(STACK_0));
because that would cause values between 2^32 and most-positive-fixnum
to be accepted but to be truncated. As a replacement, use
unsigned int foo = I_to_uint(check_uint(STACK_0));
Bruno
|