]> www.fi.muni.cz Git - evince.git/commitdiff
Check for localtime_r. See bug #339172.
authorHib Eris <hib@hiberis.nl>
Fri, 16 Jan 2009 09:39:17 +0000 (09:39 +0000)
committerCarlos Garcia Campos <carlosgc@src.gnome.org>
Fri, 16 Jan 2009 09:39:17 +0000 (09:39 +0000)
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.

svn path=/trunk/; revision=3339

ChangeLog
configure.ac
properties/ev-properties-view.c

index 2455dad5598f8ae3f976f00ececb96ef0efffa7f..0ac4a7dd18cf7a936e76716c0b277babaa7d4a60 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+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:
index 5d2c8a37cb4183ecc5f29a6c81f6d7599f683be8..97ee1b1bdbae6d384e8251c9f41c5b18bba28bc0 100644 (file)
@@ -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
index 6382af4a7ef5a24831d73355ca6e92e994f7e771..1203157211c0a13a347dbcd6cf93ba0ff14b640f 100644 (file)
@@ -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);