Mercurial > pidgin
comparison libgaim/protocols/msn/notification.c @ 20393:40a04930b233
The second msn-p13-merge-head.diff.gz from SF Patch #162854 from Ka-Hing Cheung.
"A little late, but here is a version that should remember your friendly
name. Also has a fix for a crasher when MSN sends you back:
<faultstring>Need to do full sync. Can't sync deltas Client
has too old a copy for us to do a delta sync</faultstring>
In this case, I make gaim re-request the full contact list/address book.
I haven't look too deeply into the reverse list problem, but I think the
solution would involve caching the reverse list, which may require
extending the privacy api."
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Sun, 15 Apr 2007 03:02:48 +0000 |
parents | 9ba7dee775e1 |
children |
comparison
equal
deleted
inserted
replaced
20392:9ba7dee775e1 | 20393:40a04930b233 |
---|---|
624 | 624 |
625 g_free(tokens); | 625 g_free(tokens); |
626 } | 626 } |
627 | 627 |
628 static void | 628 static void |
629 msn_notification_post_adl(MsnCmdProc *cmdproc,char *payload, int payload_len) | 629 msn_notification_post_adl(MsnCmdProc *cmdproc, char *payload, int payload_len) |
630 { | 630 { |
631 MsnTransaction *trans; | 631 MsnTransaction *trans; |
632 const char *display_name; | |
633 const char *friendly; | |
634 | |
635 display_name = gaim_connection_get_display_name(cmdproc->session->account->gc); | |
636 if (display_name) { | |
637 friendly = gaim_url_encode(display_name); | |
638 msn_cmdproc_send(cmdproc, "PRP", "MFN %s", friendly); | |
639 } | |
640 | |
641 | 632 |
642 gaim_debug_info("MaYuan","Send ADL{%s}\n",payload); | 633 gaim_debug_info("MaYuan","Send ADL{%s}\n",payload); |
643 trans = msn_transaction_new(cmdproc, "ADL","%d",strlen(payload)); | 634 trans = msn_transaction_new(cmdproc, "ADL","%d",strlen(payload)); |
644 msn_transaction_set_payload(trans, payload, strlen(payload)); | 635 msn_transaction_set_payload(trans, payload, strlen(payload)); |
645 msn_cmdproc_send_trans(cmdproc, trans); | 636 msn_cmdproc_send_trans(cmdproc, trans); |
653 MsnUser *user; | 644 MsnUser *user; |
654 GList *l; | 645 GList *l; |
655 xmlnode *adl_node; | 646 xmlnode *adl_node; |
656 char *payload; | 647 char *payload; |
657 int payload_len; | 648 int payload_len; |
649 const char *display_name; | |
658 | 650 |
659 userlist = session->userlist; | 651 userlist = session->userlist; |
660 adl_node = xmlnode_new("ml"); | 652 adl_node = xmlnode_new("ml"); |
661 adl_node->child = NULL; | 653 adl_node->child = NULL; |
662 xmlnode_set_attrib(adl_node, "l", "1"); | 654 xmlnode_set_attrib(adl_node, "l", "1"); |
669 | 661 |
670 payload = xmlnode_to_str(adl_node,&payload_len); | 662 payload = xmlnode_to_str(adl_node,&payload_len); |
671 xmlnode_free(adl_node); | 663 xmlnode_free(adl_node); |
672 | 664 |
673 msn_notification_post_adl(session->notification->cmdproc,payload,payload_len); | 665 msn_notification_post_adl(session->notification->cmdproc,payload,payload_len); |
666 | |
667 display_name = gaim_connection_get_display_name(session->account->gc); | |
668 if (display_name && strcmp(display_name, | |
669 gaim_account_get_username(session->account))) { | |
670 msn_act_id(session->account->gc, display_name); | |
671 } | |
672 | |
674 } | 673 } |
675 | 674 |
676 /*Post FQY to NS,Inform add a Yahoo User*/ | 675 /*Post FQY to NS,Inform add a Yahoo User*/ |
677 static void | 676 static void |
678 msn_notification_fqy_yahoo(MsnSession *session, const char *passport) | 677 msn_notification_fqy_yahoo(MsnSession *session, const char *passport) |