summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/gnome-desktop/gnome-desktop/gnome-desktop-thumbnail-don-t-convert-time_t-to-long.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-gnome/gnome-desktop/gnome-desktop/gnome-desktop-thumbnail-don-t-convert-time_t-to-long.patch')
-rw-r--r--meta/recipes-gnome/gnome-desktop/gnome-desktop/gnome-desktop-thumbnail-don-t-convert-time_t-to-long.patch31
1 files changed, 16 insertions, 15 deletions
diff --git a/meta/recipes-gnome/gnome-desktop/gnome-desktop/gnome-desktop-thumbnail-don-t-convert-time_t-to-long.patch b/meta/recipes-gnome/gnome-desktop/gnome-desktop/gnome-desktop-thumbnail-don-t-convert-time_t-to-long.patch
index 18a069fadc..c1a7d4f40f 100644
--- a/meta/recipes-gnome/gnome-desktop/gnome-desktop/gnome-desktop-thumbnail-don-t-convert-time_t-to-long.patch
+++ b/meta/recipes-gnome/gnome-desktop/gnome-desktop/gnome-desktop-thumbnail-don-t-convert-time_t-to-long.patch
@@ -1,31 +1,32 @@
1From adfa0c8f9fec1faac4bea6a94d947ea32e585923 Mon Sep 17 00:00:00 2001 1From 9048939b76b3bd10783adb79ed0aaf6cd13895cc Mon Sep 17 00:00:00 2001
2From: Christopher Larson <chris_larson@mentor.com> 2From: Christopher Larson <chris_larson@mentor.com>
3Date: Tue, 13 Dec 2016 20:39:51 -0700 3Date: Tue, 13 Dec 2016 20:39:51 -0700
4Subject: [PATCH] gnome-desktop-thumbnail: don't convert time_t to long 4Subject: [PATCH 1/2] gnome-desktop-thumbnail: don't convert time_t to long
5 5
6Explicitly use strftime+strptime rather than snprintf+atol. This fixes the 6Explicitly use strftime+strptime rather than snprintf+atol. This fixes the
7build for X32, where long's size doesn't match that of time_t. 7build for X32, where long's size doesn't match that of time_t.
8 8
9Upstream-Status: Pending 9Upstream-Status: Pending
10Signed-off-by: Christopher Larson <chris_larson@mentor.com> 10Signed-off-by: Christopher Larson <chris_larson@mentor.com>
11
11--- 12---
12 libgnome-desktop/gnome-desktop-thumbnail.c | 16 ++++++++++++++-- 13 libgnome-desktop/gnome-desktop-thumbnail.c | 16 ++++++++++++++--
13 1 file changed, 14 insertions(+), 2 deletions(-) 14 1 file changed, 14 insertions(+), 2 deletions(-)
14 15
15diff --git a/libgnome-desktop/gnome-desktop-thumbnail.c b/libgnome-desktop/gnome-desktop-thumbnail.c 16diff --git a/libgnome-desktop/gnome-desktop-thumbnail.c b/libgnome-desktop/gnome-desktop-thumbnail.c
16index 3946309..b756333 100644 17index e56c3d7..5d96bf3 100644
17--- a/libgnome-desktop/gnome-desktop-thumbnail.c 18--- a/libgnome-desktop/gnome-desktop-thumbnail.c
18+++ b/libgnome-desktop/gnome-desktop-thumbnail.c 19+++ b/libgnome-desktop/gnome-desktop-thumbnail.c
19@@ -126,6 +126,8 @@ 20@@ -120,6 +120,8 @@
20 * Since: 2.2 21 * Since: 2.2
21 */ 22 */
22 23
23+#define _XOPEN_SOURCE 24+#define _XOPEN_SOURCE
24+ 25+
25 #include <config.h> 26 #include <config.h>
26 #include <sys/types.h> 27
27 #include <sys/stat.h> 28 #include <glib.h>
28@@ -1483,6 +1485,7 @@ save_thumbnail (GdkPixbuf *pixbuf, 29@@ -1105,6 +1107,7 @@ save_thumbnail (GdkPixbuf *pixbuf,
29 char *tmp_path = NULL; 30 char *tmp_path = NULL;
30 int tmp_fd; 31 int tmp_fd;
31 char mtime_str[21]; 32 char mtime_str[21];
@@ -33,11 +34,11 @@ index 3946309..b756333 100644
33 gboolean ret = FALSE; 34 gboolean ret = FALSE;
34 GError *error = NULL; 35 GError *error = NULL;
35 const char *width, *height; 36 const char *width, *height;
36@@ -1502,7 +1505,11 @@ save_thumbnail (GdkPixbuf *pixbuf, 37@@ -1124,7 +1127,11 @@ save_thumbnail (GdkPixbuf *pixbuf,
37 goto out; 38 goto out;
38 close (tmp_fd); 39 close (tmp_fd);
39 40
40- g_snprintf (mtime_str, 21, "%ld", mtime); 41- g_snprintf (mtime_str, 21, "%" G_GINT64_FORMAT, (gint64) mtime);
41+ tmp_mtime = localtime (&mtime); 42+ tmp_mtime = localtime (&mtime);
42+ if (!tmp_mtime) 43+ if (!tmp_mtime)
43+ goto out; 44+ goto out;
@@ -46,15 +47,15 @@ index 3946309..b756333 100644
46 width = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::Image::Width"); 47 width = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::Image::Width");
47 height = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::Image::Height"); 48 height = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::Image::Height");
48 49
49@@ -1695,6 +1702,7 @@ gnome_desktop_thumbnail_is_valid (GdkPixbuf *pixbuf, 50@@ -1319,6 +1326,7 @@ gnome_desktop_thumbnail_is_valid (GdkPixbuf *pixbuf,
50 { 51 {
51 const char *thumb_uri, *thumb_mtime_str; 52 const char *thumb_uri, *thumb_mtime_str;
52 time_t thumb_mtime; 53 time_t thumb_mtime;
53+ struct tm tmp_mtime; 54+ struct tm tmp_mtime;
54 55
55 thumb_uri = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::URI"); 56 thumb_uri = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::URI");
56 if (!thumb_uri) 57 if (g_strcmp0 (uri, thumb_uri) != 0)
57@@ -1705,7 +1713,11 @@ gnome_desktop_thumbnail_is_valid (GdkPixbuf *pixbuf, 58@@ -1327,7 +1335,11 @@ gnome_desktop_thumbnail_is_valid (GdkPixbuf *pixbuf,
58 thumb_mtime_str = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::MTime"); 59 thumb_mtime_str = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::MTime");
59 if (!thumb_mtime_str) 60 if (!thumb_mtime_str)
60 return FALSE; 61 return FALSE;
@@ -66,7 +67,7 @@ index 3946309..b756333 100644
66+ return FALSE; 67+ return FALSE;
67 if (mtime != thumb_mtime) 68 if (mtime != thumb_mtime)
68 return FALSE; 69 return FALSE;
69 70
70-- 71--
712.8.0 722.14.1
72 73