# HG changeset patch # User Sulabh Mahajan # Date 1232528105 0 # Node ID 1e02d4592894b90c80716f0adf24554158dfbc2a # Parent 2cc85ecc27eff56644fb21fa00c1f7a860d40209 msn interoperability: change groups diff -r 2cc85ecc27ef -r 1e02d4592894 libpurple/protocols/yahoo/yahoo.c --- a/libpurple/protocols/yahoo/yahoo.c Tue Jan 20 18:08:36 2009 +0000 +++ b/libpurple/protocols/yahoo/yahoo.c Wed Jan 21 08:55:05 2009 +0000 @@ -5019,6 +5019,8 @@ struct yahoo_packet *pkt; char *gpn, *gpo; YahooFriend *f = yahoo_friend_find(gc, who); + gboolean wlm = FALSE; + const char *temp = NULL; /* Step 0: If they aren't on the server list anyway, * don't bother letting the server know. @@ -5026,6 +5028,12 @@ if (!f) return; + if(f->protocol == 2) { + wlm = TRUE; + temp = who+4; + } else + temp = who; + /* If old and new are the same, we would probably * end up deleting the buddy, which would be bad. * This might happen because of the charset conversation. @@ -5041,11 +5049,11 @@ pkt = yahoo_packet_new(YAHOO_SERVICE_CHGRP_15, YAHOO_STATUS_AVAILABLE, 0); if(f->protocol) yahoo_packet_hash(pkt, "ssssissss", 1, purple_connection_get_display_name(gc), - 302, "240", 300, "240", 7, who, 241, f->protocol, 224, gpo, 264, gpn, 301, + 302, "240", 300, "240", 7, temp, 241, f->protocol, 224, gpo, 264, gpn, 301, "240", 303, "240"); else yahoo_packet_hash(pkt, "ssssssss", 1, purple_connection_get_display_name(gc), - 302, "240", 300, "240", 7, who, 224, gpo, 264, gpn, 301, + 302, "240", 300, "240", 7, temp, 224, gpo, 264, gpn, 301, "240", 303, "240"); yahoo_packet_send_and_free(pkt, yd);