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-session.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'src/ck-session.c') diff --git a/src/ck-session.c b/src/ck-session.c index bc3c07b..44eaa2f 100644 --- a/src/ck-session.c +++ b/src/ck-session.c @@ -301,6 +301,29 @@ ck_session_get_idle_hint (CkSession *session, 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_session_get_idle_since_hint (CkSession *session, char **iso8601_datetime, @@ -312,7 +335,7 @@ ck_session_get_idle_since_hint (CkSession *session, date_str = NULL; if (session->priv->idle_hint) { - date_str = g_time_val_to_iso8601 (&session->priv->idle_since_hint); + date_str = _g_time_val_to_iso8601 (&session->priv->idle_since_hint); } if (iso8601_datetime != NULL) { @@ -474,7 +497,7 @@ ck_session_get_creation_time (CkSession *session, g_return_val_if_fail (CK_IS_SESSION (session), FALSE); if (iso8601_datetime != NULL) { - *iso8601_datetime = g_time_val_to_iso8601 (&session->priv->creation_time); + *iso8601_datetime = _g_time_val_to_iso8601 (&session->priv->creation_time); } return TRUE; -- cgit