On May 31, 2006, at 8:31 AM, Tim Peters wrote: > I'm afraid a sabbatical year isn't long enough to understand what the > struct module did or intends to do by way of range checking <0.7 > wink>. > > Is this intended? This is on a 32-bit Windows box with current trunk: > >>>> from struct import pack as p >>>> p("I", 2**32 + 2343) > C:\Code\python\lib\struct.py:63: DeprecationWarning: 'I' format > requires 0 <= number <= 4294967295 > return o.pack(*args) > '\x00\x00\x00\x00' > > The warning makes sense, but the result doesn't make sense to me. In > Python 2.4.3, that example raised OverflowError, which seems better > than throwing away all the bits without an exception.
Throwing away all the bits is a bug, it's supposed to mask with 0xffffffffL -bob _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com