Is this correct on 32-bit platforms? (I guess it's not, and so, should this truncation be the default behaviour?)