mirror of https://github.com/python/cpython
Issue #29140: Fix hash(datetime.time)
Fix time_hash() function: replace DATE_xxx() macros with TIME_xxx() macros. Before, the hash function used a wrong value for microseconds if fold is set (equal to 1).
This commit is contained in:
parent
8d979d576e
commit
423c16b4c3
|
@ -3843,11 +3843,11 @@ time_hash(PyDateTime_Time *self)
|
|||
{
|
||||
if (self->hashcode == -1) {
|
||||
PyObject *offset, *self0;
|
||||
if (DATE_GET_FOLD(self)) {
|
||||
self0 = new_time_ex2(DATE_GET_HOUR(self),
|
||||
DATE_GET_MINUTE(self),
|
||||
DATE_GET_SECOND(self),
|
||||
DATE_GET_MICROSECOND(self),
|
||||
if (TIME_GET_FOLD(self)) {
|
||||
self0 = new_time_ex2(TIME_GET_HOUR(self),
|
||||
TIME_GET_MINUTE(self),
|
||||
TIME_GET_SECOND(self),
|
||||
TIME_GET_MICROSECOND(self),
|
||||
HASTZINFO(self) ? self->tzinfo : Py_None,
|
||||
0, Py_TYPE(self));
|
||||
if (self0 == NULL)
|
||||
|
|
Loading…
Reference in New Issue