Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--configure.ac2
-rw-r--r--properties/ev-properties-view.c11
3 files changed, 18 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 2455dad..0ac4a7d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2009-01-16 Hib Eris <hib@hiberis.nl>
+ * configure.ac:
+ * properties/ev-properties-view.c:
+ (ev_properties_view_format_date):
+
+ Check for localtime_r. See bug #339172.
+
+2009-01-16 Hib Eris <hib@hiberis.nl>
+
* shell/main.c:
Include gdkx only for dbus support. See bug #339172.
diff --git a/configure.ac b/configure.ac
index 5d2c8a3..97ee1b1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -405,6 +405,8 @@ if test "x$enable_impress" = "xyes"; then
fi
AC_SUBST(EVINCE_MIME_TYPES)
+AC_CHECK_FUNC(localtime_r, AC_DEFINE(HAVE_LOCALTIME_R, 1, [Defines if localtime_r is available on your system]))
+
AC_CONFIG_FILES([
backend/Makefile
backend/comics/Makefile
diff --git a/properties/ev-properties-view.c b/properties/ev-properties-view.c
index 6382af4..1203157 100644
--- a/properties/ev-properties-view.c
+++ b/properties/ev-properties-view.c
@@ -111,14 +111,19 @@ static char *
ev_properties_view_format_date (GTime utime)
{
time_t time = (time_t) utime;
- struct tm t;
char s[256];
const char *fmt_hack = "%c";
size_t len;
-
+#ifdef HAVE_LOCALTIME_R
+ struct tm t;
if (time == 0 || !localtime_r (&time, &t)) return NULL;
-
len = strftime (s, sizeof (s), fmt_hack, &t);
+#else
+ struct tm *t;
+ if (time == 0 || !(t = localtime (&time)) ) return NULL;
+ len = strftime (s, sizeof (s), fmt_hack, t);
+#endif
+
if (len == 0 || s[0] == '\0') return NULL;
return g_locale_to_utf8 (s, -1, NULL, NULL, NULL);