Issue #12744: Fix inefficient representation of integers

between 2**31 and 2**63 on systems with a 64-bit C "long".
This commit is contained in:
Antoine Pitrou 2011-08-13 20:15:19 +02:00
parent 780199e6a3
commit 3c7e928098
3 changed files with 14 additions and 1 deletions

View file

@ -1540,7 +1540,7 @@ save_long(PicklerObject *self, PyObject *obj)
/* out of range for int pickling */
PyErr_Clear();
}
else
else if (val <= 0x7fffffffL && val >= -0x80000000L)
return save_int(self, val);
if (self->proto >= 2) {