From 8fa6f59953fbcae779008c7cdf12441e995b1ca3 Mon Sep 17 00:00:00 2001 From: William Jon McCann Date: Wed, 21 Feb 2007 13:22:37 -0500 Subject: add support for glib < 2.12 Copy the iso8601 function from glib to support versions less than 2.12. --- src/ck-manager.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'src/ck-manager.c') diff --git a/src/ck-manager.c b/src/ck-manager.c index 6d35347..63561b3 100644 --- a/src/ck-manager.c +++ b/src/ck-manager.c @@ -400,6 +400,29 @@ ck_manager_get_system_idle_hint (CkManager *manager, return TRUE; } +#if GLIB_CHECK_VERSION(2,12,0) +#define _g_time_val_to_iso8601(t) g_time_val_to_iso8601(t) +#else +/* copied from GLib */ +static gchar * +_g_time_val_to_iso8601 (GTimeVal *time_) +{ + gchar *retval; + + g_return_val_if_fail (time_->tv_usec >= 0 && time_->tv_usec < G_USEC_PER_SEC, NULL); + +#define ISO_8601_LEN 21 +#define ISO_8601_FORMAT "%Y-%m-%dT%H:%M:%SZ" + retval = g_new0 (gchar, ISO_8601_LEN + 1); + + strftime (retval, ISO_8601_LEN, + ISO_8601_FORMAT, + gmtime (&(time_->tv_sec))); + + return retval; +} +#endif + gboolean ck_manager_get_system_idle_since_hint (CkManager *manager, char **iso8601_datetime, @@ -411,7 +434,7 @@ ck_manager_get_system_idle_since_hint (CkManager *manager, date_str = NULL; if (manager->priv->system_idle_hint) { - date_str = g_time_val_to_iso8601 (&manager->priv->system_idle_since_hint); + date_str = _g_time_val_to_iso8601 (&manager->priv->system_idle_since_hint); } if (iso8601_datetime != NULL) { -- cgit