# HG changeset patch # User zas_ # Date 1211329977 0 # Node ID 179a7224dde1357e5e206ee73e7d9ac54d5e6251 # Parent 0f177c151368f2e39e28901b1de627e95c1649d8 Use g_build_filename(). diff -r 0f177c151368 -r 179a7224dde1 src/rcfile.c --- a/src/rcfile.c Wed May 21 00:20:13 2008 +0000 +++ b/src/rcfile.c Wed May 21 00:32:57 2008 +0000 @@ -299,7 +299,7 @@ gchar *rc_pathl; gint i; - rc_path = g_strconcat(homedir(), "/", GQ_RC_DIR, "/", RC_FILE_NAME, NULL); + rc_path = g_build_filename(homedir(), GQ_RC_DIR, RC_FILE_NAME, NULL); rc_pathl = path_from_utf8(rc_path); ssi = secure_open(rc_pathl); @@ -609,7 +609,7 @@ for (i = 0; ExifUIList[i].key; i++) ExifUIList[i].current = ExifUIList[i].default_value; - rc_path = g_strconcat(homedir(), "/", GQ_RC_DIR, "/", RC_FILE_NAME, NULL); + rc_path = g_build_filename(homedir(), GQ_RC_DIR, RC_FILE_NAME, NULL); rc_pathl = path_from_utf8(rc_path); f = fopen(rc_pathl,"r"); diff -r 0f177c151368 -r 179a7224dde1 src/search.c --- a/src/search.c Wed May 21 00:20:13 2008 +0000 +++ b/src/search.c Wed May 21 00:32:57 2008 +0000 @@ -2159,7 +2159,7 @@ /* search metadata */ g_free(sd->search_path); - sd->search_path = g_strconcat(homedir(), "/", GQ_CACHE_RC_METADATA, NULL); + sd->search_path = g_build_filename(homedir(), GQ_CACHE_RC_METADATA, NULL); search_start(sd); } diff -r 0f177c151368 -r 179a7224dde1 src/thumb.c --- a/src/thumb.c Wed May 21 00:20:13 2008 +0000 +++ b/src/thumb.c Wed May 21 00:32:57 2008 +0000 @@ -51,9 +51,10 @@ { gchar *cache_path; gchar *pathl; + gchar *name = g_strconcat(filename_from_path(tl->path), GQ_CACHE_EXT_THUMB, NULL); - cache_path = g_strconcat(cache_dir, "/", filename_from_path(tl->path), - GQ_CACHE_EXT_THUMB, NULL); + cache_path = g_build_filename(cache_dir, name, NULL); + g_free(name); DEBUG_1("Saving thumb: %s", cache_path); @@ -99,9 +100,10 @@ gchar *cache_path; gchar *pathl; FILE *f; + gchar *name = g_strconcat(filename_from_path(tl->path), GQ_CACHE_EXT_THUMB, NULL); - cache_path = g_strconcat(cache_dir, "/", filename_from_path(tl->path), - GQ_CACHE_EXT_THUMB, NULL); + cache_path = g_build_filename(cache_dir, name, NULL); + g_free(name); DEBUG_1("marking thumb failure: %s", cache_path); @@ -609,18 +611,22 @@ { gint width, height; gchar *thumb_name; - gchar *tmp_string; - gchar *last_slash; + gchar *path; + gchar *directory; + gchar *name; guchar *packed_data; - tmp_string = path_from_utf8(thumb_filename); - last_slash = strrchr(tmp_string, '/'); - if(!last_slash) return NULL; - *last_slash++ = '\0'; + path = path_from_utf8(thumb_filename); + directory = g_path_get_dirname(path); + name = g_path_get_basename(path); + + thumb_name = g_build_filename(directory, ".xvpics", name, NULL); + + g_free(name); + g_free(directory); + g_free(path); - thumb_name = g_strconcat(tmp_string, "/.xvpics/", last_slash, NULL); packed_data = load_xv_thumbnail(thumb_name, &width, &height); - g_free(tmp_string); g_free(thumb_name); if(packed_data)