comparison src/protocols/oscar/oscar.c @ 11005:bb7fd9359f9e

[gaim-migrate @ 12864] Small changes to the oscar PRPL. Someone in #gaim was attempting to debug a problem he's seen with permit/deny settings not sticking, and noticed that there were multiple copies of people in his permit or deny list. He didn't think the copies were still being added. In any case, now Gaim will remove duplicate copies of people in your permit and deny list, and multiple copies of a single buddy in the same group. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Tue, 14 Jun 2005 00:24:27 +0000
parents bf03a5271395
children 1d58cc6c4552
comparison
equal deleted inserted replaced
11004:a3d3729a9130 11005:bb7fd9359f9e
5901 aim_ssi_aliasbuddy(od->sess, gname, name, alias); 5901 aim_ssi_aliasbuddy(od->sess, gname, name, alias);
5902 } 5902 }
5903 } 5903 }
5904 } 5904 }
5905 5905
5906 /*
5907 * FYI, the OSCAR SSI code removes empty groups automatically.
5908 */
5906 static void oscar_rename_group(GaimConnection *gc, const char *old_name, GaimGroup *group, GList *moved_buddies) { 5909 static void oscar_rename_group(GaimConnection *gc, const char *old_name, GaimGroup *group, GList *moved_buddies) {
5907 OscarData *od = (OscarData *)gc->proto_data; 5910 OscarData *od = (OscarData *)gc->proto_data;
5908 5911
5909 if (od->sess->ssi.received_data) { 5912 if (od->sess->ssi.received_data) {
5910 if (aim_ssi_itemlist_finditem(od->sess->ssi.local, group->name, NULL, AIM_SSI_TYPE_GROUP)) { 5913 if (aim_ssi_itemlist_finditem(od->sess->ssi.local, group->name, NULL, AIM_SSI_TYPE_GROUP)) {
5920 } 5923 }
5921 5924
5922 serv_remove_buddies(gc, moved_buddies, groups); 5925 serv_remove_buddies(gc, moved_buddies, groups);
5923 serv_add_buddies(gc, moved_buddies); 5926 serv_add_buddies(gc, moved_buddies);
5924 g_list_free(groups); 5927 g_list_free(groups);
5925 /** XXX: Shouldn't be we deleting the old group on the server here??? */
5926 gaim_debug_info("oscar", 5928 gaim_debug_info("oscar",
5927 "ssi: moved all buddies from group %s to %s\n", old_name, group->name); 5929 "ssi: moved all buddies from group %s to %s\n", old_name, group->name);
5928 } else { 5930 } else {
5929 aim_ssi_rename_group(od->sess, old_name, group->name); 5931 aim_ssi_rename_group(od->sess, old_name, group->name);
5930 gaim_debug_info("oscar", 5932 gaim_debug_info("oscar",