Commit dca028b8 authored by Victor Stinner's avatar Victor Stinner

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.
parent f81f0f9c
...@@ -30,6 +30,9 @@ Core and Builtins ...@@ -30,6 +30,9 @@ Core and Builtins
Library 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 - Issue #14260: The groupindex attribute of regular expression pattern object
now is non-modifiable mapping. now is non-modifiable mapping.
......
...@@ -6127,9 +6127,9 @@ os_utime_impl(PyModuleDef *module, path_t *path, PyObject *times, PyObject *ns, ...@@ -6127,9 +6127,9 @@ os_utime_impl(PyModuleDef *module, path_t *path, PyObject *times, PyObject *ns,
} }
utime.now = 0; utime.now = 0;
if (_PyTime_ObjectToTimespec(PyTuple_GET_ITEM(times, 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), _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; goto exit;
} }
utime.atime_s = a_sec; utime.atime_s = a_sec;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment