Mercurial > pidgin.yaz
changeset 28439:e61b10db0044
This will fix adding, removing MSN contacts on yahoo's deny list
author | Sulabh Mahajan <sulabh@soc.pidgin.im> |
---|---|
date | Mon, 24 Aug 2009 22:27:18 +0000 |
parents | 80265d67fc7e |
children | 1e529b03ec81 |
files | libpurple/protocols/yahoo/libymsg.c |
diffstat | 1 files changed, 16 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/yahoo/libymsg.c Mon Aug 24 20:43:09 2009 +0000 +++ b/libpurple/protocols/yahoo/libymsg.c Mon Aug 24 22:27:18 2009 +0000 @@ -4774,6 +4774,7 @@ void yahoo_add_deny(PurpleConnection *gc, const char *who) { YahooData *yd = (YahooData *)gc->proto_data; struct yahoo_packet *pkt; + gboolean msn = FALSE; if (!yd->logged_in) return; @@ -4781,15 +4782,21 @@ if (!who || who[0] == '\0') return; + msn = !g_ascii_strncasecmp(who, "msn/", 4); pkt = yahoo_packet_new(YAHOO_SERVICE_IGNORECONTACT, YAHOO_STATUS_AVAILABLE, yd->session_id); - yahoo_packet_hash(pkt, "sss", 1, purple_connection_get_display_name(gc), - 7, who, 13, "1"); + + if(msn) + yahoo_packet_hash(pkt, "ssss", 1, purple_connection_get_display_name(gc), 7, who+4, 241, "2", 13, "1"); + else + yahoo_packet_hash(pkt, "sss", 1, purple_connection_get_display_name(gc), 7, who, 13, "1"); + yahoo_packet_send_and_free(pkt, yd); } void yahoo_rem_deny(PurpleConnection *gc, const char *who) { YahooData *yd = (YahooData *)gc->proto_data; struct yahoo_packet *pkt; + gboolean msn = FALSE; if (!yd->logged_in) return; @@ -4797,8 +4804,14 @@ if (!who || who[0] == '\0') return; + msn = !g_ascii_strncasecmp(who, "msn/", 4); pkt = yahoo_packet_new(YAHOO_SERVICE_IGNORECONTACT, YAHOO_STATUS_AVAILABLE, yd->session_id); - yahoo_packet_hash(pkt, "sss", 1, purple_connection_get_display_name(gc), 7, who, 13, "2"); + + if(msn) + yahoo_packet_hash(pkt, "ssss", 1, purple_connection_get_display_name(gc), 7, who+4, 241, "2", 13, "2"); + else + yahoo_packet_hash(pkt, "sss", 1, purple_connection_get_display_name(gc), 7, who, 13, "2"); + yahoo_packet_send_and_free(pkt, yd); }