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);
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");
{
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);
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);
{
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)