[gthumb] Fixed path_in_path regression, using utf8 path names now - bug 448581
- From: Michael J. Chudobiak <mjc src gnome org>
- To: svn-commits-list gnome org
- Subject: [gthumb] Fixed path_in_path regression, using utf8 path names now - bug 448581
- Date: Wed, 3 Jun 2009 09:07:12 -0400 (EDT)
commit 22650055a918424889872e2a9bf219c058917d06
Author: Michael J. Chudobiak <mjc avtechpulse com>
Date: Wed Jun 3 09:02:58 2009 -0400
Fixed path_in_path regression, using utf8 path names now - bug 448581
---
libgthumb/file-utils.c | 24 +++++++++++++++++-------
libgthumb/thumb-loader.c | 2 +-
2 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/libgthumb/file-utils.c b/libgthumb/file-utils.c
index 1ccb547..6875c76 100644
--- a/libgthumb/file-utils.c
+++ b/libgthumb/file-utils.c
@@ -1235,18 +1235,28 @@ gboolean
path_in_path (const char *path_src,
const char *path_dest)
{
- /* FIXME - need gfile version */
- int path_src_l, path_dest_l;
+ gboolean result;
+ char *utf8_src;
+ char *utf8_dest;
+ int utf8_src_l, utf8_dest_l;
if ((path_src == NULL) || (path_dest == NULL))
return FALSE;
- path_src_l = strlen (path_src);
- path_dest_l = strlen (path_dest);
+ utf8_src = get_utf8_display_name_from_uri (path_src);
+ utf8_dest = get_utf8_display_name_from_uri (path_dest);
+
+ utf8_src_l = strlen (utf8_src);
+ utf8_dest_l = strlen (utf8_dest);
+
+ result = ((utf8_dest_l > utf8_src_l)
+ && (strncmp (utf8_src, utf8_dest, utf8_src_l) == 0)
+ && (path_dest[utf8_src_l] == '/'));
- return ((path_dest_l > path_src_l)
- && (strncmp (path_src, path_dest, path_src_l) == 0)
- && (path_dest[path_src_l] == '/'));
+ g_free (utf8_src);
+ g_free (utf8_dest);
+
+ return result;
}
diff --git a/libgthumb/thumb-loader.c b/libgthumb/thumb-loader.c
index efca059..e30f447 100644
--- a/libgthumb/thumb-loader.c
+++ b/libgthumb/thumb-loader.c
@@ -462,7 +462,7 @@ thumb_loader_save_to_cache (ThumbLoader *tl)
or an endless loop of thumbnailing may be triggered. */
cache_base_uri = g_strconcat (get_home_uri (), "/.thumbnails", NULL);
- if (path_in_path (cache_base_uri, tl->priv->file->utf8_path)) { /* FIXME */
+ if (path_in_path (cache_base_uri, tl->priv->file->utf8_path)) {
g_free (cache_base_uri);
return FALSE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]