# HG changeset patch # User Mark Doliner # Date 1064973972 0 # Node ID 3650612c7daaefec5eb2aa8738acf9392566edc1 # Parent f89146deac3d32142fb7c6b1800f2db52be47b3d [gaim-migrate @ 7658] Memleak bad! Space-indentation bad! Fire bad! Call Lars! Call Regis! committer: Tailor Script diff -r f89146deac3d -r 3650612c7daa src/protocols/oscar/oscar.c --- a/src/protocols/oscar/oscar.c Wed Oct 01 01:47:52 2003 +0000 +++ b/src/protocols/oscar/oscar.c Wed Oct 01 02:06:12 2003 +0000 @@ -1818,20 +1818,22 @@ /* Server stored icon stuff */ if (info->iconcsumlen) { - char *b16, *saved_b16; - GaimBuddy *b; - FILE *file; + char *filename = NULL, *b16 = NULL, *saved_b16 = NULL; + GaimBuddy *b = NULL; b16 = tobase16(info->iconcsum, info->iconcsumlen); b = gaim_find_buddy(gc->account, info->sn); - /* If for some reason the checksum is valid, but cached file is not.. - we want to know. */ - if((file = fopen(gaim_buddy_get_setting(b, "buddy_icon"), "rb"))) { - fclose(file); - saved_b16 = gaim_buddy_get_setting(b, "icon_checksum"); - } - else - saved_b16 = NULL; + /* + * If for some reason the checksum is valid, but cached file is not.. + * we want to know. + */ + filename = gaim_buddy_get_setting(b, "buddy_icon"); + if (filename != NULL) { + if (g_file_test(filename, G_FILE_TEST_EXISTS)) + saved_b16 = gaim_buddy_get_setting(b, "icon_checksum"); + g_free(filename); + } else + saved_b16 = NULL; if (!b16 || !saved_b16 || strcmp(b16, saved_b16)) { GSList *cur = od->requesticon;