changeset 26246:1e02d4592894

msn interoperability: change groups
author Sulabh Mahajan <sulabh@soc.pidgin.im>
date Wed, 21 Jan 2009 08:55:05 +0000
parents 2cc85ecc27ef
children 74bb0836f164
files libpurple/protocols/yahoo/yahoo.c
diffstat 1 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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);