diff options
author | Matthias Clasen <mclasen@redhat.com> | 2005-04-07 18:46:19 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2005-04-07 18:46:19 +0000 |
commit | dd893da822acee6d58f479d04053453babd1727c (patch) | |
tree | 7a64480c6edb53a8342baf94cd85612064e2c0db /gtk/updateiconcache.c | |
parent | 58019209edaf01e34ab40741cd828de6f4281acb (diff) | |
download | gtk+-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.c | 11 |
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; |