Issue #14815: Use Py_ssize_t instead of long for the object hash, to
preserve all 64 bits of hash on Win64.
This commit is contained in:
parent
1bc276d7ab
commit
49c15d4a5f
|
@ -10,6 +10,9 @@ What's New in Python 3.3.0 Beta 1?
|
|||
Core and Builtins
|
||||
-----------------
|
||||
|
||||
- Issue #14815: Use Py_ssize_t instead of long for the object hash, to
|
||||
preserve all 64 bits of hash on Win64.
|
||||
|
||||
- Issue #12268: File readline, readlines and read() or readall() methods
|
||||
no longer lose data when an underlying read system call is interrupted.
|
||||
IOError is no longer raised due to a read system call returning EINTR
|
||||
|
|
|
@ -234,10 +234,10 @@ random_seed(RandomObject *self, PyObject *args)
|
|||
if (PyLong_Check(arg))
|
||||
n = PyNumber_Absolute(arg);
|
||||
else {
|
||||
long hash = PyObject_Hash(arg);
|
||||
Py_ssize_t hash = PyObject_Hash(arg);
|
||||
if (hash == -1)
|
||||
goto Done;
|
||||
n = PyLong_FromUnsignedLong((unsigned long)hash);
|
||||
n = PyLong_FromSsize_t(hash);
|
||||
}
|
||||
if (n == NULL)
|
||||
goto Done;
|
||||
|
|
Loading…
Reference in New Issue