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);
 }