comparison libpurple/protocols/msn/oim.c @ 20500:403ff626b803

merge of '0d182c079b200633b234b9a8216aba155384f21b' and 'f1386de039f67a9907085baf097986700135cac6'
author Ka-Hing Cheung <khc@hxbc.us>
date Sun, 09 Sep 2007 00:50:14 +0000
parents 6ef43e723595 7e7add38a02f
children f6dff814d95f
comparison
equal deleted inserted replaced
20498:6ef43e723595 20500:403ff626b803
166 msn_oim_send_process(MsnOim *oim, const char *body, int len) 166 msn_oim_send_process(MsnOim *oim, const char *body, int len)
167 { 167 {
168 xmlnode *responseNode, *bodyNode; 168 xmlnode *responseNode, *bodyNode;
169 xmlnode *faultNode, *faultCodeNode, *faultstringNode; 169 xmlnode *faultNode, *faultCodeNode, *faultstringNode;
170 xmlnode *detailNode, *challengeNode; 170 xmlnode *detailNode, *challengeNode;
171 char *faultCodeStr, *faultstring; 171 char *faultCodeStr = NULL, *faultstring = NULL;
172 172
173 responseNode = xmlnode_from_str(body,len); 173 responseNode = xmlnode_from_str(body,len);
174 g_return_if_fail(responseNode != NULL); 174 g_return_if_fail(responseNode != NULL);
175 bodyNode = xmlnode_get_child(responseNode,"Body"); 175 bodyNode = xmlnode_get_child(responseNode,"Body");
176 faultNode = xmlnode_get_child(bodyNode,"Fault"); 176 faultNode = xmlnode_get_child(bodyNode,"Fault");
224 /*repost the send*/ 224 /*repost the send*/
225 purple_debug_info("MSNP14","prepare to repost the send...\n"); 225 purple_debug_info("MSNP14","prepare to repost the send...\n");
226 msn_oim_send_msg(oim); 226 msn_oim_send_msg(oim);
227 227
228 oim_send_process_fail: 228 oim_send_process_fail:
229 g_free(faultstring);
230 g_free(faultCodeStr);
229 xmlnode_free(responseNode); 231 xmlnode_free(responseNode);
230 return ; 232 return ;
231 } 233 }
232 234
233 static void 235 static void
546 * prepare to report the OIM to user 548 * prepare to report the OIM to user
547 */ 549 */
548 static void 550 static void
549 msn_oim_get_process(MsnOim *oim, const char *oim_msg) 551 msn_oim_get_process(MsnOim *oim, const char *oim_msg)
550 { 552 {
551 xmlnode *oimNode,*bodyNode,*responseNode,*msgNode; 553 xmlnode *oim_node,*bodyNode,*responseNode,*msgNode;
552 char *msg_data,*msg_str; 554 char *msg_str;
553 555
554 oimNode = xmlnode_from_str(oim_msg, strlen(oim_msg)); 556 oim_node = xmlnode_from_str(oim_msg, strlen(oim_msg));
555 bodyNode = xmlnode_get_child(oimNode,"Body"); 557 bodyNode = xmlnode_get_child(oim_node,"Body");
556 responseNode = xmlnode_get_child(bodyNode,"GetMessageResponse"); 558 responseNode = xmlnode_get_child(bodyNode,"GetMessageResponse");
557 msgNode = xmlnode_get_child(responseNode,"GetMessageResult"); 559 msgNode = xmlnode_get_child(responseNode,"GetMessageResult");
558 msg_data = xmlnode_get_data(msgNode); 560 msg_str = xmlnode_get_data(msgNode);
559 msg_str = g_strdup(msg_data);
560 g_free(msg_data);
561 purple_debug_info("OIM","msg:{%s}\n",msg_str); 561 purple_debug_info("OIM","msg:{%s}\n",msg_str);
562 msn_oim_report_to_user(oim,msg_str); 562 msn_oim_report_to_user(oim,msg_str);
563 563
564 g_free(msg_str); 564 g_free(msg_str);
565 xmlnode_free(oim_node);
565 } 566 }
566 567
567 static void 568 static void
568 msn_oim_get_read_cb(gpointer data, gint source, PurpleInputCondition cond) 569 msn_oim_get_read_cb(gpointer data, gint source, PurpleInputCondition cond)
569 { 570 {
653 g_free(msgid); 654 g_free(msgid);
654 g_free(rTime); 655 g_free(rTime);
655 rTime = NULL; 656 rTime = NULL;
656 g_free(nickname); 657 g_free(nickname);
657 } 658 }
659 g_free(unread);
658 xmlnode_free(node); 660 xmlnode_free(node);
659 } 661 }
660 662
661 /*Post to get the Offline Instant Message*/ 663 /*Post to get the Offline Instant Message*/
662 static void 664 static void