gregory p smith amuhkryptoorg 31908 martin v löwis wrote christian heimes schrieb python 30 unit test zlib broken 30 zlibcrc32 returns unsigned long python 2x signed int issue solved think unsigned long wrong sprint people agreed crc32 obviously gives unsigned number unfortunate python 26 cant really implement well hence keep 2x behavior 26 3k change regards martin yes crcs unsigned theyre fixed size bit fields could even make sense return 4 byte bytesstr object thatd api change sign requires assume know length underlying integer holding python ints longs dont fixed size troublesome leads lots zlibcrc32foo 0xffffffff binasciicrc32foo 0xffffffff ugly tricks unsign value could make 26 return unsigned would mean returns long half time rather int informal consensus room earlier week leave 2x returning signed value compatibility made consistent always returns signed regardless sizeoflong id happy either way recent checkin fixed py3k tests got returning unsigned wed 06 aug 2008 111734 0500 python3000 zlibcrc32 signed unsigned