changeset: 95259:c26b4b85dfc4 user: Victor Stinner date: Mon Mar 30 01:02:57 2015 +0200 files: Misc/NEWS Modules/posixmodule.c description: Issue #22117: Fix os.utime(), it now rounds the timestamp towards minus infinity (-inf) instead of rounding towards zero. Replace _PyTime_ROUND_DOWN with _PyTime_ROUND_FLOOR. diff -r 626575d756da -r c26b4b85dfc4 Misc/NEWS --- a/Misc/NEWS Mon Mar 30 00:44:06 2015 +0200 +++ b/Misc/NEWS Mon Mar 30 01:02:57 2015 +0200 @@ -30,6 +30,9 @@ Library ------- +- Issue #22117: Fix os.utime(), it now rounds the timestamp towards minus + infinity (-inf) instead of rounding towards zero. + - Issue #14260: The groupindex attribute of regular expression pattern object now is non-modifiable mapping. diff -r 626575d756da -r c26b4b85dfc4 Modules/posixmodule.c --- a/Modules/posixmodule.c Mon Mar 30 00:44:06 2015 +0200 +++ b/Modules/posixmodule.c Mon Mar 30 01:02:57 2015 +0200 @@ -6127,9 +6127,9 @@ } utime.now = 0; if (_PyTime_ObjectToTimespec(PyTuple_GET_ITEM(times, 0), - &a_sec, &a_nsec, _PyTime_ROUND_DOWN) == -1 || + &a_sec, &a_nsec, _PyTime_ROUND_FLOOR) == -1 || _PyTime_ObjectToTimespec(PyTuple_GET_ITEM(times, 1), - &m_sec, &m_nsec, _PyTime_ROUND_DOWN) == -1) { + &m_sec, &m_nsec, _PyTime_ROUND_FLOOR) == -1) { goto exit; } utime.atime_s = a_sec;