diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2017-01-03 22:47:12 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2017-01-03 22:47:12 (GMT) |
commit | 423c16b4c3454c8d8c4091ffb4538394a02c75d5 (patch) | |
tree | 6b2e76e0f4391804502818b3f3e7ce865faaec98 /Modules/_datetimemodule.c | |
parent | 8d979d576e123c03f0bb92aeb8043b8d7aa57cf7 (diff) | |
download | cpython-423c16b4c3454c8d8c4091ffb4538394a02c75d5.zip cpython-423c16b4c3454c8d8c4091ffb4538394a02c75d5.tar.gz cpython-423c16b4c3454c8d8c4091ffb4538394a02c75d5.tar.bz2 |
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).
Diffstat (limited to 'Modules/_datetimemodule.c')
-rw-r--r-- | Modules/_datetimemodule.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Modules/_datetimemodule.c b/Modules/_datetimemodule.c index c09cce9..291920d 100644 --- a/Modules/_datetimemodule.c +++ b/Modules/_datetimemodule.c @@ -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) |