summaryrefslogtreecommitdiffstats
path: root/Modules/timemodule.c
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@wyplay.com>2012-03-13 12:35:55 (GMT)
committerVictor Stinner <vstinner@wyplay.com>2012-03-13 12:35:55 (GMT)
commit5d272cc6a28f3600a6c5ab3ea0ceea94f2285f35 (patch)
tree13726571347da753ab494dc42cff7055d1bc96a2 /Modules/timemodule.c
parent3cac309939378f806daa3459afde0908267b070a (diff)
downloadcpython-5d272cc6a28f3600a6c5ab3ea0ceea94f2285f35.zip
cpython-5d272cc6a28f3600a6c5ab3ea0ceea94f2285f35.tar.gz
cpython-5d272cc6a28f3600a6c5ab3ea0ceea94f2285f35.tar.bz2
Close #14180: Factorize code to convert a number of seconds to time_t, timeval or timespec
time.ctime(), gmtime(), time.localtime(), datetime.date.fromtimestamp(), datetime.datetime.fromtimestamp() and datetime.datetime.utcfromtimestamp() now raises an OverflowError, instead of a ValueError, if the timestamp does not fit in time_t. datetime.datetime.fromtimestamp() and datetime.datetime.utcfromtimestamp() now round microseconds towards zero instead of rounding to nearest with ties going away from zero.
Diffstat (limited to 'Modules/timemodule.c')
-rw-r--r--Modules/timemodule.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index 6ebd3ef..efebd49 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -1,7 +1,6 @@
/* Time module */
#include "Python.h"
-#include "_time.h"
#include <ctype.h>
@@ -288,11 +287,7 @@ parse_time_t_args(PyObject *args, char *format, time_t *pwhen)
whent = time(NULL);
}
else {
- double d = PyFloat_AsDouble(ot);
- if (PyErr_Occurred())
- return 0;
- whent = _PyTime_DoubleToTimet(d);
- if (whent == (time_t)-1 && PyErr_Occurred())
+ if (_PyTime_ObjectToTime_t(ot, &whent) == -1)
return 0;
}
*pwhen = whent;