[gthumb] Fixed path_in_path regression, using utf8 path names now - bug 448581



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]