Mercurial > pidgin.yaz
comparison libgaim/protocols/msn/contact.c @ 20390:d634f88e25d8
msn.tgz from SF Patch #1621854 from Ka-Hing Cheung
"This tarball brings soc-2006-msnp13 up to head. In addition to that it also
fixes a crash with sending offline messages.
I wasn't able to generate a diff against that branch, svn seems to insist
on diff'ing against HEAD after I run the merge command. After running `svn
merge -r 16309:HEAD https://gaim.svn.sourceforge.net/svnroot/gaim/trunk` on
the soc-2006-msnp13 you can replace the msn directory with the attached
tarball. The fix for offline messaging is on msn.c:901:
if (!session->oim)
session->oim = msn_oim_new(session)"
committer: Richard Laager <rlaager@wiktel.com>
author | Ka-Hing Cheung <khc@hxbc.us> |
---|---|
date | Sun, 15 Apr 2007 02:18:17 +0000 |
parents | e354528c4163 |
children | 0b0ecee55091 |
comparison
equal
deleted
inserted
replaced
20389:e354528c4163 | 20390:d634f88e25d8 |
---|---|
213 } | 213 } |
214 | 214 |
215 static void | 215 static void |
216 msn_get_contact_list_cb(gpointer data, gint source, GaimInputCondition cond) | 216 msn_get_contact_list_cb(gpointer data, gint source, GaimInputCondition cond) |
217 { | 217 { |
218 MsnSoapConn * soapconn = data; | 218 MsnSoapConn *soapconn = data; |
219 MsnContact *contact; | 219 MsnContact *contact; |
220 MsnSession *session; | 220 MsnSession *session; |
221 const char * abLastChange; | 221 const char *abLastChange; |
222 const char * dynamicItemLastChange; | 222 const char *dynamicItemLastChange; |
223 | 223 |
224 contact = soapconn->parent; | 224 contact = soapconn->parent; |
225 g_return_if_fail(contact != NULL); | 225 g_return_if_fail(contact != NULL); |
226 session = soapconn->session; | 226 session = soapconn->session; |
227 g_return_if_fail(session != NULL); | 227 g_return_if_fail(session != NULL); |
233 /*free the read buffer*/ | 233 /*free the read buffer*/ |
234 msn_soap_free_read_buf(soapconn); | 234 msn_soap_free_read_buf(soapconn); |
235 | 235 |
236 abLastChange = gaim_blist_node_get_string(msn_session_get_bnode(contact->session),"ablastChange"); | 236 abLastChange = gaim_blist_node_get_string(msn_session_get_bnode(contact->session),"ablastChange"); |
237 dynamicItemLastChange = gaim_blist_node_get_string(msn_session_get_bnode(contact->session),"dynamicItemLastChange"); | 237 dynamicItemLastChange = gaim_blist_node_get_string(msn_session_get_bnode(contact->session),"dynamicItemLastChange"); |
238 msn_get_address_book(contact,abLastChange,dynamicItemLastChange); | 238 msn_get_address_book(contact, abLastChange, dynamicItemLastChange); |
239 } | 239 } |
240 | 240 |
241 static void | 241 static void |
242 msn_get_contact_written_cb(gpointer data, gint source, GaimInputCondition cond) | 242 msn_get_contact_written_cb(gpointer data, gint source, GaimInputCondition cond) |
243 { | 243 { |
515 soapconn->read_cb = msn_get_address_cb; | 515 soapconn->read_cb = msn_get_address_cb; |
516 } | 516 } |
517 | 517 |
518 /*get the address book*/ | 518 /*get the address book*/ |
519 void | 519 void |
520 msn_get_address_book(MsnContact *contact,char * LastChanged, char * dynamicItemLastChange) | 520 msn_get_address_book(MsnContact *contact, const char *LastChanged, const char *dynamicItemLastChange) |
521 { | 521 { |
522 MsnSoapReq *soap_request; | 522 MsnSoapReq *soap_request; |
523 char *body = NULL; | 523 char *body = NULL; |
524 char *ab_update_str,*update_str; | 524 char *ab_update_str,*update_str; |
525 | 525 |
530 }else{ | 530 }else{ |
531 ab_update_str = g_strdup(""); | 531 ab_update_str = g_strdup(""); |
532 } | 532 } |
533 if(dynamicItemLastChange != NULL){ | 533 if(dynamicItemLastChange != NULL){ |
534 update_str = g_strdup_printf(MSN_GET_ADDRESS_UPDATE_XML, | 534 update_str = g_strdup_printf(MSN_GET_ADDRESS_UPDATE_XML, |
535 ab_update_str,dynamicItemLastChange); | 535 dynamicItemLastChange); |
536 }else{ | 536 }else{ |
537 update_str = g_strdup(ab_update_str); | 537 update_str = g_strdup(ab_update_str); |
538 } | 538 } |
539 g_free(ab_update_str); | 539 g_free(ab_update_str); |
540 | 540 |
653 soapconn->read_cb = msn_update_contact_read_cb; | 653 soapconn->read_cb = msn_update_contact_read_cb; |
654 // msn_soap_read_cb(data,source,cond); | 654 // msn_soap_read_cb(data,source,cond); |
655 } | 655 } |
656 | 656 |
657 /*update a contact's Nickname*/ | 657 /*update a contact's Nickname*/ |
658 #if 0 | |
658 void | 659 void |
659 msn_update_contact(MsnContact *contact,const char* nickname) | 660 msn_update_contact(MsnContact *contact,const char* nickname) |
660 { | 661 { |
661 MsnSoapReq *soap_request; | 662 MsnSoapReq *soap_request; |
662 char *body = NULL; | 663 char *body = NULL; |
672 msn_update_contact_written_cb); | 673 msn_update_contact_written_cb); |
673 msn_soap_post(contact->soapconn,soap_request,msn_contact_connect_init); | 674 msn_soap_post(contact->soapconn,soap_request,msn_contact_connect_init); |
674 | 675 |
675 g_free(body); | 676 g_free(body); |
676 } | 677 } |
678 #endif | |
677 | 679 |
678 static void | 680 static void |
679 msn_block_read_cb(gpointer data, gint source, GaimInputCondition cond) | 681 msn_block_read_cb(gpointer data, gint source, GaimInputCondition cond) |
680 { | 682 { |
681 gaim_debug_info("MaYuan","block read done\n"); | 683 gaim_debug_info("MaYuan","block read done\n"); |
760 gaim_debug_info("MaYuan","finish Group written\n"); | 762 gaim_debug_info("MaYuan","finish Group written\n"); |
761 soapconn->read_cb = msn_gleams_read_cb; | 763 soapconn->read_cb = msn_gleams_read_cb; |
762 // msn_soap_read_cb(data,source,cond); | 764 // msn_soap_read_cb(data,source,cond); |
763 } | 765 } |
764 | 766 |
767 #if 0 | |
765 /*get the gleams info*/ | 768 /*get the gleams info*/ |
766 void | 769 void |
767 msn_get_gleams(MsnContact *contact) | 770 msn_get_gleams(MsnContact *contact) |
768 { | 771 { |
769 MsnSoapReq *soap_request; | 772 MsnSoapReq *soap_request; |
775 MSN_GLEAMS_TEMPLATE, | 778 MSN_GLEAMS_TEMPLATE, |
776 msn_gleams_read_cb, | 779 msn_gleams_read_cb, |
777 msn_gleams_written_cb); | 780 msn_gleams_written_cb); |
778 msn_soap_post(contact->soapconn,soap_request,msn_contact_connect_init); | 781 msn_soap_post(contact->soapconn,soap_request,msn_contact_connect_init); |
779 } | 782 } |
783 #endif | |
780 | 784 |
781 /*************************************************************** | 785 /*************************************************************** |
782 * Group Operation | 786 * Group Operation |
783 ***************************************************************/ | 787 ***************************************************************/ |
784 static void | 788 static void |