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 @@ | |||
1 | From adfa0c8f9fec1faac4bea6a94d947ea32e585923 Mon Sep 17 00:00:00 2001 | 1 | From 9048939b76b3bd10783adb79ed0aaf6cd13895cc Mon Sep 17 00:00:00 2001 |
2 | From: Christopher Larson <chris_larson@mentor.com> | 2 | From: Christopher Larson <chris_larson@mentor.com> |
3 | Date: Tue, 13 Dec 2016 20:39:51 -0700 | 3 | Date: Tue, 13 Dec 2016 20:39:51 -0700 |
4 | Subject: [PATCH] gnome-desktop-thumbnail: don't convert time_t to long | 4 | Subject: [PATCH 1/2] gnome-desktop-thumbnail: don't convert time_t to long |
5 | 5 | ||
6 | Explicitly use strftime+strptime rather than snprintf+atol. This fixes the | 6 | Explicitly use strftime+strptime rather than snprintf+atol. This fixes the |
7 | build for X32, where long's size doesn't match that of time_t. | 7 | build for X32, where long's size doesn't match that of time_t. |
8 | 8 | ||
9 | Upstream-Status: Pending | 9 | Upstream-Status: Pending |
10 | Signed-off-by: Christopher Larson <chris_larson@mentor.com> | 10 | Signed-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 | ||
15 | diff --git a/libgnome-desktop/gnome-desktop-thumbnail.c b/libgnome-desktop/gnome-desktop-thumbnail.c | 16 | diff --git a/libgnome-desktop/gnome-desktop-thumbnail.c b/libgnome-desktop/gnome-desktop-thumbnail.c |
16 | index 3946309..b756333 100644 | 17 | index 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 | -- |
71 | 2.8.0 | 72 | 2.14.1 |
72 | 73 | ||