]> granicus.if.org Git - python/commitdiff
Issue #22117: Use the _PyTime_t API for time.clock_settime()
authorVictor Stinner <victor.stinner@gmail.com>
Sat, 28 Mar 2015 03:09:41 +0000 (04:09 +0100)
committerVictor Stinner <victor.stinner@gmail.com>
Sat, 28 Mar 2015 03:09:41 +0000 (04:09 +0100)
Remove also the now unused _PyTime_AddDouble() function.

Include/pytime.h
Modules/timemodule.c
Python/pytime.c

index 6edffbd2bf888443f2ff2dfee05b83d85270dcb1..654623e24a10e12aedf8555ddca684783ce91bd6 100644 (file)
@@ -74,11 +74,6 @@ PyAPI_FUNC(int) _PyTime_ObjectToTimespec(
     long *nsec,
     _PyTime_round_t);
 
-/* Add interval seconds to tv */
-PyAPI_FUNC(void)
-_PyTime_AddDouble(_PyTime_timeval *tv, double interval,
-                  _PyTime_round_t round);
-
 /* Initialize time.
    Return 0 on success, raise an exception and return -1 on error. */
 PyAPI_FUNC(int) _PyTime_Init(void);
index 21e6f433ffd7e331643051eadbd5fb5701fd30a4..3178fcbf0379e84a19c64efd80ed180cc44ff2f9 100644 (file)
@@ -166,18 +166,18 @@ time_clock_settime(PyObject *self, PyObject *args)
 {
     int clk_id;
     PyObject *obj;
-    time_t tv_sec;
-    long tv_nsec;
+    _PyTime_t t;
     struct timespec tp;
     int ret;
 
     if (!PyArg_ParseTuple(args, "iO:clock_settime", &clk_id, &obj))
         return NULL;
 
-    if (_PyTime_ObjectToTimespec(obj, &tv_sec, &tv_nsec, _PyTime_ROUND_DOWN) == -1)
+    if (_PyTime_FromSecondsObject(&t, obj, _PyTime_ROUND_DOWN) < 0)
+        return NULL;
+
+    if (_PyTime_AsTimespec(t, &tp) == -1)
         return NULL;
-    tp.tv_sec = tv_sec;
-    tp.tv_nsec = tv_nsec;
 
     ret = clock_settime((clockid_t)clk_id, &tp);
     if (ret != 0) {
index 27004f338c739d07c94d8720e5d0f528c38450d5..0f05db424ddd5babc7f521fb2cc643f6169d4763 100644 (file)
@@ -251,23 +251,6 @@ _PyTime_ObjectToTimeval(PyObject *obj, time_t *sec, long *usec,
     return _PyTime_ObjectToDenominator(obj, sec, usec, 1e6, round);
 }
 
-void
-_PyTime_AddDouble(_PyTime_timeval *tv, double interval, _PyTime_round_t round)
-{
-    _PyTime_timeval tv2;
-    double frac;
-
-    frac = fmod(interval, 1.0);
-    interval = floor(interval);
-    tv2.tv_sec = (long)interval;
-    tv2.tv_usec = (long)(frac*1e6);
-
-    tv->tv_sec += tv2.tv_sec;
-    tv->tv_usec += tv2.tv_usec;
-    tv->tv_sec += (time_t)(tv->tv_usec / SEC_TO_US);
-    tv->tv_usec %= SEC_TO_US;
-}
-
 /****************** NEW _PyTime_t API **********************/
 
 static void