pidgin: 275d279f: Call aim_ssi_cleanlist from within the f...

markdoliner at pidgin.im markdoliner at pidgin.im
Sat Feb 18 20:31:13 EST 2012


----------------------------------------------------------------------
Revision: 275d279f25d1b77b687d4765e33fbe28535702aa
Parent:   39bfdcc3fb628c9f90ac52a14048e9f8f9707f2a
Author:   markdoliner at pidgin.im
Date:     02/18/12 20:27:00
Branch:   im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/275d279f25d1b77b687d4765e33fbe28535702aa

Changelog: 

Call aim_ssi_cleanlist from within the feedbag code.  Just want to
make this function call more required, because I want the liboscar
buddy list code to be able to assume that the list is "clean"

Changes against parent 39bfdcc3fb628c9f90ac52a14048e9f8f9707f2a

  patched  libpurple/protocols/oscar/family_feedbag.c
  patched  libpurple/protocols/oscar/oscar.c
  patched  libpurple/protocols/oscar/oscar.h

-------------- next part --------------
============================================================
--- libpurple/protocols/oscar/oscar.c	9f34f275fd267361362b7d748c45f417935c6d67
+++ libpurple/protocols/oscar/oscar.c	08b7efeee1b85e5f47d8aefe2a2ec0ad0495b38a
@@ -3924,9 +3924,6 @@ static int purple_ssi_parselist(OscarDat
 
 	purple_debug_info("oscar", "ssi: syncing local list and server list\n");
 
-	/* Clean the buddy list */
-	aim_ssi_cleanlist(od);
-
 	/*** Begin code for pruning buddies from local list if they're not in server list ***/
 
 	/* Buddies */
============================================================
--- libpurple/protocols/oscar/family_feedbag.c	122332a388a13ffea8eec5ff840bef74da822bab
+++ libpurple/protocols/oscar/family_feedbag.c	e2b40d49ed3e7646a6cb90cc813e6290d900559a
@@ -769,7 +769,7 @@ static void cleanlist_ensure_utf8_data(s
  * @param od The oscar odion.
  * @return Return 0 if no errors, otherwise return the error number.
  */
-int aim_ssi_cleanlist(OscarData *od)
+static int aim_ssi_cleanlist(OscarData *od)
 {
 	struct aim_ssi_item *cur, *next;
 
@@ -1336,6 +1336,9 @@ static int parsedata(OscarData *od, Flap
 		for (cur=od->ssi.official.data; cur; cur=cur->next)
 			aim_ssi_itemlist_add(&od->ssi.local, cur->name, cur->gid, cur->bid, cur->type, cur->data);
 
+		/* Clean the buddy list */
+		aim_ssi_cleanlist(od);
+
 		od->ssi.received_data = TRUE;
 
 		if ((userfunc = aim_callhandler(od, snac->family, snac->subtype)))
============================================================
--- libpurple/protocols/oscar/oscar.h	f74ac44d93d0eabd4750dad9f6e61b351cccc340
+++ libpurple/protocols/oscar/oscar.h	8b6e13f7541a791a32d10b78cff2c8f65f0ea43e
@@ -940,7 +940,6 @@ int aim_ssi_rename_group(OscarData *od, 
 int aim_ssi_aliasbuddy(OscarData *od, const char *gn, const char *bn, const char *alias);
 int aim_ssi_editcomment(OscarData *od, const char *gn, const char *bn, const char *alias);
 int aim_ssi_rename_group(OscarData *od, const char *oldgn, const char *newgn);
-int aim_ssi_cleanlist(OscarData *od);
 int aim_ssi_deletelist(OscarData *od);
 int aim_ssi_setpermdeny(OscarData *od, guint8 permdeny);
 int aim_ssi_setpresence(OscarData *od, guint32 presence);


More information about the Commits mailing list