diff options
Diffstat (limited to 'glib')
-rw-r--r-- | glib/glibmodule.c | 4 | ||||
-rw-r--r-- | glib/pyglib.c | 16 | ||||
-rw-r--r-- | glib/pyglib.h | 1 |
3 files changed, 18 insertions, 3 deletions
diff --git a/glib/glibmodule.c b/glib/glibmodule.c index 79ae6c8..446be87 100644 --- a/glib/glibmodule.c +++ b/glib/glibmodule.c @@ -401,11 +401,9 @@ static PyObject * pyglib_get_current_time(PyObject *unused) { GTimeVal timeval; - double ret; g_get_current_time(&timeval); - ret = (double)timeval.tv_sec + (double)timeval.tv_usec * 0.000001; - return PyFloat_FromDouble(ret); + return pyglib_float_from_timeval(timeval); } static PyObject * diff --git a/glib/pyglib.c b/glib/pyglib.c index 24327f1..1c33995 100644 --- a/glib/pyglib.c +++ b/glib/pyglib.c @@ -471,6 +471,22 @@ pyglib_option_context_new (GOptionContext *context) return (PyObject *)self; } +/** + * pyglib_option_context_new: + * @context: a GTimeVal struct + * + * Converts a GTimeVal struct to a python float + * + * Returns: a float representing the timeval + */ +PyObject * +pyglib_float_from_timeval(GTimeVal timeval) +{ + double ret; + ret = (double)timeval.tv_sec + (double)timeval.tv_usec * 0.000001; + return PyFloat_FromDouble(ret); +} + /****** Private *****/ diff --git a/glib/pyglib.h b/glib/pyglib.h index 5659e77..d7322d3 100644 --- a/glib/pyglib.h +++ b/glib/pyglib.h @@ -48,6 +48,7 @@ void pyglib_unblock_threads(void); PyObject * pyglib_option_context_new(GOptionContext *context); PyObject * pyglib_option_group_new(GOptionGroup *group); GOptionGroup * pyglib_option_group_transfer_group(PyObject *self); +PyObject * pyglib_float_from_timeval(GTimeVal timeval); #define pyglib_begin_allow_threads \ G_STMT_START { \ |