PyObject * psyco_TimeFromTicks(PyObject *self, PyObject *args) { PyObject *res = NULL; struct tm tm; time_t t; double ticks; if (!PyArg_ParseTuple(args,"d", &ticks)) return NULL; t = (time_t)floor(ticks); ticks -= (double)t; if (localtime_r(&t, &tm)) { args = Py_BuildValue("iid", tm.tm_hour, tm.tm_min, (double)tm.tm_sec + ticks); if (args) { res = psyco_Time(self, args); Py_DECREF(args); } } else { PyErr_SetString(InterfaceError, "failed localtime call"); } return res; }
PyObject * psyco_TimeFromTicks(PyObject *self, PyObject *args) { PyObject *res = NULL; struct tm tm; time_t t; double ticks; if (!PyArg_ParseTuple(args,"d", &ticks)) return NULL; t = (time_t)round(ticks); ticks -= (double)t; if (localtime_r(&t, &tm)) { args = Py_BuildValue("iid", tm.tm_hour, tm.tm_min, (double)tm.tm_sec + ticks); if (args) { res = psyco_Time(self, args); Py_DECREF(args); } } return res; }