Mercurial > pidgin.yaz
diff src/blist.c @ 6886:b5fb1d5282e5
[gaim-migrate @ 7432]
Buddy icon caching can now be enabled/disabled in the core, and the cache
dir can be changed.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Thu, 18 Sep 2003 07:11:55 +0000 |
parents | 66dd420d3d23 |
children | 5ace3b44cf61 |
line wrap: on
line diff
--- a/src/blist.c Thu Sep 18 05:39:44 2003 +0000 +++ b/src/blist.c Thu Sep 18 07:11:55 2003 +0000 @@ -496,58 +496,6 @@ return b; } -static void -write_buddy_icon(GaimBuddy *buddy, GaimBuddyIcon *icon) -{ - const void *data; - size_t len; - char *random; - char *filename; - char *dirname; - char *old_icon; - FILE *file = NULL; - - data = gaim_buddy_icon_get_data(icon, &len); - - random = g_strdup_printf("%x", g_random_int()); - filename = g_build_filename(gaim_user_dir(), "icons", random, NULL); - dirname = g_build_filename(gaim_user_dir(), "icons", NULL); - old_icon = gaim_buddy_get_setting(buddy, "buddy_icon"); - - g_free(random); - - if (!g_file_test(dirname, G_FILE_TEST_IS_DIR)) - { - gaim_debug_info("buddy icons", "Creating icon cache directory.\n"); - - if (mkdir(dirname, S_IRUSR | S_IWUSR | S_IXUSR) < 0) - { - gaim_debug_error("buddy icons", - "Unable to create directory %s: %s\n", - dirname, strerror(errno)); - } - } - - g_free(dirname); - - if ((file = fopen(filename, "wb")) != NULL) - { - fwrite(data, 1, len, file); - fclose(file); - } - - if (old_icon != NULL) - { - unlink(old_icon); - g_free(old_icon); - } - - gaim_buddy_set_setting(buddy, "buddy_icon", filename); - gaim_blist_save(); - - g_free(filename); -} - void gaim_buddy_set_icon(GaimBuddy *buddy, GaimBuddyIcon *icon) { @@ -561,7 +509,7 @@ buddy->icon = (icon == NULL ? NULL : gaim_buddy_icon_ref(icon)); - write_buddy_icon(buddy, icon); + gaim_buddy_icon_cache(icon, buddy); gaim_blist_update_buddy_icon(buddy); }