diff --git a/ChangeLog b/ChangeLog index af9c2ca41..e52337924 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2009-01-31 Matthias Clasen + + Bug 569105 – g_time_val_to_iso8601() assumes time_t==long + + * glib/gtimer.c (g_time_val_to_iso8601): Pass a time_t* to gmtime(). + Pointed out by Matthias Drochner. + 2009-01-27 Christian Persch * configure.in: diff --git a/glib/gtimer.c b/glib/gtimer.c index 3e9a1a6fa..3221c1aaf 100644 --- a/glib/gtimer.c +++ b/glib/gtimer.c @@ -419,19 +419,18 @@ g_time_val_to_iso8601 (GTimeVal *time_) #ifdef HAVE_GMTIME_R struct tm tm_; #endif + time_t secs; g_return_val_if_fail (time_->tv_usec >= 0 && time_->tv_usec < G_USEC_PER_SEC, NULL); + secs = time_->tv_sec; #ifdef _WIN32 - { - time_t secs = time_->tv_sec; - tm = gmtime (&secs); - } + tm = gmtime (&secs); #else #ifdef HAVE_GMTIME_R - tm = gmtime_r (&time_->tv_sec, &tm_); + tm = gmtime_r (&secs, &tm_); #else - tm = gmtime (&time_->tv_sec); + tm = gmtime (&secs); #endif #endif