Mercurial > geeqie.yaz
comparison src/thumb.c @ 715:179a7224dde1
Use g_build_filename().
author | zas_ |
---|---|
date | Wed, 21 May 2008 00:32:57 +0000 |
parents | a3218946bd2d |
children | 9bd49e725ad3 |
comparison
equal
deleted
inserted
replaced
714:0f177c151368 | 715:179a7224dde1 |
---|---|
49 | 49 |
50 if (cache_ensure_dir_exists(cache_dir, mode)) | 50 if (cache_ensure_dir_exists(cache_dir, mode)) |
51 { | 51 { |
52 gchar *cache_path; | 52 gchar *cache_path; |
53 gchar *pathl; | 53 gchar *pathl; |
54 | 54 gchar *name = g_strconcat(filename_from_path(tl->path), GQ_CACHE_EXT_THUMB, NULL); |
55 cache_path = g_strconcat(cache_dir, "/", filename_from_path(tl->path), | 55 |
56 GQ_CACHE_EXT_THUMB, NULL); | 56 cache_path = g_build_filename(cache_dir, name, NULL); |
57 g_free(name); | |
57 | 58 |
58 DEBUG_1("Saving thumb: %s", cache_path); | 59 DEBUG_1("Saving thumb: %s", cache_path); |
59 | 60 |
60 pathl = path_from_utf8(cache_path); | 61 pathl = path_from_utf8(cache_path); |
61 success = pixbuf_to_file_as_png(tl->pixbuf, pathl); | 62 success = pixbuf_to_file_as_png(tl->pixbuf, pathl); |
97 if (cache_ensure_dir_exists(cache_dir, mode)) | 98 if (cache_ensure_dir_exists(cache_dir, mode)) |
98 { | 99 { |
99 gchar *cache_path; | 100 gchar *cache_path; |
100 gchar *pathl; | 101 gchar *pathl; |
101 FILE *f; | 102 FILE *f; |
102 | 103 gchar *name = g_strconcat(filename_from_path(tl->path), GQ_CACHE_EXT_THUMB, NULL); |
103 cache_path = g_strconcat(cache_dir, "/", filename_from_path(tl->path), | 104 |
104 GQ_CACHE_EXT_THUMB, NULL); | 105 cache_path = g_build_filename(cache_dir, name, NULL); |
106 g_free(name); | |
105 | 107 |
106 DEBUG_1("marking thumb failure: %s", cache_path); | 108 DEBUG_1("marking thumb failure: %s", cache_path); |
107 | 109 |
108 pathl = path_from_utf8(cache_path); | 110 pathl = path_from_utf8(cache_path); |
109 f = fopen(pathl, "w"); | 111 f = fopen(pathl, "w"); |
607 | 609 |
608 static GdkPixbuf *get_xv_thumbnail(gchar *thumb_filename, gint max_w, gint max_h) | 610 static GdkPixbuf *get_xv_thumbnail(gchar *thumb_filename, gint max_w, gint max_h) |
609 { | 611 { |
610 gint width, height; | 612 gint width, height; |
611 gchar *thumb_name; | 613 gchar *thumb_name; |
612 gchar *tmp_string; | 614 gchar *path; |
613 gchar *last_slash; | 615 gchar *directory; |
616 gchar *name; | |
614 guchar *packed_data; | 617 guchar *packed_data; |
615 | 618 |
616 tmp_string = path_from_utf8(thumb_filename); | 619 path = path_from_utf8(thumb_filename); |
617 last_slash = strrchr(tmp_string, '/'); | 620 directory = g_path_get_dirname(path); |
618 if(!last_slash) return NULL; | 621 name = g_path_get_basename(path); |
619 *last_slash++ = '\0'; | 622 |
620 | 623 thumb_name = g_build_filename(directory, ".xvpics", name, NULL); |
621 thumb_name = g_strconcat(tmp_string, "/.xvpics/", last_slash, NULL); | 624 |
625 g_free(name); | |
626 g_free(directory); | |
627 g_free(path); | |
628 | |
622 packed_data = load_xv_thumbnail(thumb_name, &width, &height); | 629 packed_data = load_xv_thumbnail(thumb_name, &width, &height); |
623 g_free(tmp_string); | |
624 g_free(thumb_name); | 630 g_free(thumb_name); |
625 | 631 |
626 if(packed_data) | 632 if(packed_data) |
627 { | 633 { |
628 guchar *rgb_data; | 634 guchar *rgb_data; |