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:
Victor Stinner 2017-01-03 23:47:12 +01:00
parent 8d979d576e
commit 423c16b4c3
1 changed files with 5 additions and 5 deletions

View File

@ -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)