diff options
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.patch | 31 |
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 @@ -From adfa0c8f9fec1faac4bea6a94d947ea32e585923 Mon Sep 17 00:00:00 2001 +From 9048939b76b3bd10783adb79ed0aaf6cd13895cc Mon Sep 17 00:00:00 2001 From: Christopher Larson <chris_larson@mentor.com> Date: Tue, 13 Dec 2016 20:39:51 -0700 -Subject: [PATCH] gnome-desktop-thumbnail: don't convert time_t to long +Subject: [PATCH 1/2] gnome-desktop-thumbnail: don't convert time_t to long Explicitly use strftime+strptime rather than snprintf+atol. This fixes the build for X32, where long's size doesn't match that of time_t. Upstream-Status: Pending Signed-off-by: Christopher Larson <chris_larson@mentor.com> + --- libgnome-desktop/gnome-desktop-thumbnail.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/libgnome-desktop/gnome-desktop-thumbnail.c b/libgnome-desktop/gnome-desktop-thumbnail.c -index 3946309..b756333 100644 +index e56c3d7..5d96bf3 100644 --- a/libgnome-desktop/gnome-desktop-thumbnail.c +++ b/libgnome-desktop/gnome-desktop-thumbnail.c -@@ -126,6 +126,8 @@ +@@ -120,6 +120,8 @@ * Since: 2.2 */ +#define _XOPEN_SOURCE + #include <config.h> - #include <sys/types.h> - #include <sys/stat.h> -@@ -1483,6 +1485,7 @@ save_thumbnail (GdkPixbuf *pixbuf, + + #include <glib.h> +@@ -1105,6 +1107,7 @@ save_thumbnail (GdkPixbuf *pixbuf, char *tmp_path = NULL; int tmp_fd; char mtime_str[21]; @@ -33,11 +34,11 @@ index 3946309..b756333 100644 gboolean ret = FALSE; GError *error = NULL; const char *width, *height; -@@ -1502,7 +1505,11 @@ save_thumbnail (GdkPixbuf *pixbuf, +@@ -1124,7 +1127,11 @@ save_thumbnail (GdkPixbuf *pixbuf, goto out; close (tmp_fd); -- g_snprintf (mtime_str, 21, "%ld", mtime); +- g_snprintf (mtime_str, 21, "%" G_GINT64_FORMAT, (gint64) mtime); + tmp_mtime = localtime (&mtime); + if (!tmp_mtime) + goto out; @@ -46,15 +47,15 @@ index 3946309..b756333 100644 width = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::Image::Width"); height = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::Image::Height"); -@@ -1695,6 +1702,7 @@ gnome_desktop_thumbnail_is_valid (GdkPixbuf *pixbuf, +@@ -1319,6 +1326,7 @@ gnome_desktop_thumbnail_is_valid (GdkPixbuf *pixbuf, { const char *thumb_uri, *thumb_mtime_str; time_t thumb_mtime; + struct tm tmp_mtime; - + thumb_uri = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::URI"); - if (!thumb_uri) -@@ -1705,7 +1713,11 @@ gnome_desktop_thumbnail_is_valid (GdkPixbuf *pixbuf, + if (g_strcmp0 (uri, thumb_uri) != 0) +@@ -1327,7 +1335,11 @@ gnome_desktop_thumbnail_is_valid (GdkPixbuf *pixbuf, thumb_mtime_str = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::MTime"); if (!thumb_mtime_str) return FALSE; @@ -66,7 +67,7 @@ index 3946309..b756333 100644 + return FALSE; if (mtime != thumb_mtime) return FALSE; - + -- -2.8.0 +2.14.1 |