diff libpurple/protocols/yahoo/yahoo_friend.c @ 26142:3b19ea3c8165

MSN Interoperability, add, remove buddies, change group, send im, etc
author Sulabh Mahajan <sulabh@soc.pidgin.im>
date Wed, 20 Aug 2008 21:11:56 +0000
parents fa462a39cd47
children 74bb0836f164
line wrap: on
line diff
--- a/libpurple/protocols/yahoo/yahoo_friend.c	Wed Aug 20 20:32:57 2008 +0000
+++ b/libpurple/protocols/yahoo/yahoo_friend.c	Wed Aug 20 21:11:56 2008 +0000
@@ -236,12 +236,21 @@
 		if (f->presence == YAHOO_PRESENCE_PERM_OFFLINE) {
 			pkt = yahoo_packet_new(YAHOO_SERVICE_PRESENCE_PERM,
 					YAHOO_STATUS_AVAILABLE, yd->session_id);
-			yahoo_packet_hash(pkt, "ssssssss",
+			if(f->protocol)
+				yahoo_packet_hash(pkt, "ssssssiss",
+					1, purple_connection_get_display_name(gc),
+					31, "2", 13, "2",
+					302, "319", 300, "319",
+					7, name, 241, f->protocol,
+					301, "319", 303, "319");
+			else
+				yahoo_packet_hash(pkt, "ssssssss",
 					1, purple_connection_get_display_name(gc),
 					31, "2", 13, "2",
 					302, "319", 300, "319",
 					7, name,
 					301, "319", 303, "319");
+
 			yahoo_packet_send_and_free(pkt, yd);
 		}
 
@@ -254,7 +263,15 @@
 		pkt = yahoo_packet_new(service,
 				YAHOO_STATUS_AVAILABLE, yd->session_id);
 
-		yahoo_packet_hash(pkt, "ssssssss",
+		if(f->protocol)
+			yahoo_packet_hash(pkt, "ssssssiss",
+				1, purple_connection_get_display_name(gc),
+				31, thirtyone, 13, thirteen,
+				302, "319", 300, "319",
+				7, name, 241, f->protocol,
+				301, "319", 303, "319");
+		else
+			yahoo_packet_hash(pkt, "ssssssss",
 				1, purple_connection_get_display_name(gc),
 				31, thirtyone, 13, thirteen,
 				302, "319", 300, "319",