2.3 -> 2.4: long int too large to convert to int

Reinhold Birkenfeld reinhold-birkenfeld-nospam at wolke7.net
Sat Sep 17 11:10:59 CEST 2005


Grant Edwards wrote:
> I give up, how do I make this not fail under 2.4?
> 
>   fcntl.ioctl(self.dev.fileno(),0xc0047a80,struct.pack("HBB",0x1c,0x00,0x00))
> 
> I get an OverflowError: long int too large to convert to int
> 
> ioctl() is expecting a 32-bit integer value, and 0xc0047a80 has
> the high-order bit set.  I'm assuming Python thinks it's a
> signed value.  How do I tell Python that 0xc0047a80 is an
> unsigned 32-bit value?

This is fixed in the 2.5 CVS branch, where the ioctl() Python C wrapper
expects an unsigned integer instead of a signed one.

Reinhold



More information about the Python-list mailing list