summaryrefslogtreecommitdiff
path: root/gtk/updateiconcache.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2005-04-07 18:46:19 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2005-04-07 18:46:19 +0000
commitdd893da822acee6d58f479d04053453babd1727c (patch)
tree7a64480c6edb53a8342baf94cd85612064e2c0db /gtk/updateiconcache.c
parent58019209edaf01e34ab40741cd828de6f4281acb (diff)
downloadgtk+-dd893da822acee6d58f479d04053453babd1727c.tar.gz
Some fixes from Morten Welinder (#172947):
2005-04-07 Matthias Clasen <mclasen@redhat.com> Some fixes from Morten Welinder (#172947): * gtk/updateiconcache.c (icon_name_hash): Make this compiler- and platform-independent. (is_cache_up_to_date): Don't compare mtimes is a stat call failed. (build_cache): Error out if a stat fails.
Diffstat (limited to 'gtk/updateiconcache.c')
-rw-r--r--gtk/updateiconcache.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/gtk/updateiconcache.c b/gtk/updateiconcache.c
index 82aa18d539..d7e8867b52 100644
--- a/gtk/updateiconcache.c
+++ b/gtk/updateiconcache.c
@@ -71,7 +71,7 @@ is_cache_up_to_date (const gchar *path)
retval = g_stat (cache_path, &cache_stat);
g_free (cache_path);
- if (retval < 0 && errno == ENOENT)
+ if (retval < 0)
{
/* Cache file not found */
return FALSE;
@@ -385,8 +385,8 @@ struct _HashNode
static guint
icon_name_hash (gconstpointer key)
{
- const char *p = key;
- guint h = *p;
+ const signed char *p = key;
+ guint32 h = *p;
if (h)
for (p += 1; *p != '\0'; p++)
@@ -992,8 +992,9 @@ build_cache (const gchar *path)
/* Update time */
/* FIXME: What do do if an error occurs here? */
- g_stat (path, &path_stat);
- g_stat (cache_path, &cache_stat);
+ if (g_stat (path, &path_stat) < 0 ||
+ g_stat (cache_path, &cache_stat))
+ exit (1);
utime_buf.actime = path_stat.st_atime;
utime_buf.modtime = cache_stat.st_mtime;