summaryrefslogtreecommitdiff
path: root/Modules/_datetimemodule.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2017-01-03 23:47:12 +0100
committerVictor Stinner <victor.stinner@gmail.com>2017-01-03 23:47:12 +0100
commit423c16b4c3454c8d8c4091ffb4538394a02c75d5 (patch)
tree6b2e76e0f4391804502818b3f3e7ce865faaec98 /Modules/_datetimemodule.c
parent8d979d576e123c03f0bb92aeb8043b8d7aa57cf7 (diff)
downloadcpython-git-423c16b4c3454c8d8c4091ffb4538394a02c75d5.tar.gz
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.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/Modules/_datetimemodule.c b/Modules/_datetimemodule.c
index c09cce9da7..291920dc0f 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)