diff -r f99dc5025704 -r 3992ecfbc7e2 libpurple/protocols/yahoo/yahoo_friend.c --- 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",