changeset 20497:89a82874d64e

merge of '85c73f22a9f7e979b53ff5d0d965a8cba49b35c0' and 'b72032dfc24c2067d0692d367120edaa068a1f7c'
author Ka-Hing Cheung <khc@hxbc.us>
date Sat, 08 Sep 2007 23:59:25 +0000
parents 82d8797e06f3 (diff) c32fbef16656 (current diff)
children 6ef43e723595 7e7add38a02f
files
diffstat 5 files changed, 16 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/msn/cmdproc.c	Sat Sep 08 23:57:59 2007 +0000
+++ b/libpurple/protocols/msn/cmdproc.c	Sat Sep 08 23:59:25 2007 +0000
@@ -258,8 +258,10 @@
 		trans = msn_history_find(cmdproc->history, cmd->trId);
 
 	if (trans != NULL)
-		if (trans->timer)
+		if (trans->timer) {
 			purple_timeout_remove(trans->timer);
+			trans->timer = 0;
+		}
 
 	if (g_ascii_isdigit(cmd->command[0]))
 	{
--- a/libpurple/protocols/msn/contact.c	Sat Sep 08 23:57:59 2007 +0000
+++ b/libpurple/protocols/msn/contact.c	Sat Sep 08 23:59:25 2007 +0000
@@ -809,11 +809,13 @@
 						
 				if ( !strncmp(errorcodestring, "ABDoesNotExist", 14) ) {
 					g_free(errorcodestring);
+					xmlnode_free(node);
 					return TRUE;
 				}
 				g_free(errorcodestring);
 			}
 		}
+		xmlnode_free(node);
 		return FALSE;
 	}
 
@@ -821,6 +823,7 @@
 	response = xmlnode_get_child(body,"ABFindAllResponse");
 
 	if (response == NULL) {
+		xmlnode_free(node);
 		return FALSE;
 	}
 
@@ -828,6 +831,7 @@
 	result = xmlnode_get_child(response,"ABFindAllResult");
 	if(result == NULL){
 		purple_debug_misc("MSNAB","receive no address book update\n");
+		xmlnode_free(node);
 		return TRUE;
 	}
 	purple_debug_info("MSN SOAP","result{%p},name:%s\n",result,result->name);
--- a/libpurple/protocols/msn/notification.c	Sat Sep 08 23:57:59 2007 +0000
+++ b/libpurple/protocols/msn/notification.c	Sat Sep 08 23:59:25 2007 +0000
@@ -490,8 +490,8 @@
 							body_enc ? body_enc : "", post ? post : "");
 			g_free(pre);
 			g_free(post);
-			g_free(body_enc);
 		}
+		g_free(body_enc);
 		serv_got_im(gc, passport, body_final, 0, time(NULL));
 	}
 	if(!strcmp(content_type,"text/x-msmsgscontrol")){
--- a/libpurple/protocols/msn/soap.c	Sat Sep 08 23:57:59 2007 +0000
+++ b/libpurple/protocols/msn/soap.c	Sat Sep 08 23:59:25 2007 +0000
@@ -50,8 +50,8 @@
 	soapconn->ssl_conn = sslconn;
 
 	soapconn->gsc = NULL;
-	soapconn->input_handler = -1;
-	soapconn->output_handler = -1;
+	soapconn->input_handler = 0;
+	soapconn->output_handler = 0;
 
 	msn_soap_set_process_step(soapconn,MSN_SOAP_UNCONNECTED);
 	soapconn->soap_queue = g_queue_new();
@@ -168,11 +168,12 @@
 	/*remove the write handler*/
 	if (soapconn->output_handler > 0){
 		purple_input_remove(soapconn->output_handler);
+		soapconn->output_handler = 0;
 	}
 	/*remove the read handler*/
 	if (soapconn->input_handler > 0){
 		purple_input_remove(soapconn->input_handler);
-		soapconn->input_handler = -1;
+		soapconn->input_handler = 0;
 	}
 	msn_soap_free_read_buf(soapconn);
 	msn_soap_free_write_buf(soapconn);
@@ -231,7 +232,7 @@
 						"read len: %d, error = %s\n",
 						len, strerror(errno));
 				  purple_input_remove(soapconn->input_handler);
-				  soapconn->input_handler = -1;
+				  soapconn->input_handler = 0;
 				  g_free(soapconn->read_buf);
 				  soapconn->read_buf = NULL;
 				  soapconn->read_len = 0;
@@ -464,7 +465,7 @@
 
 			/*remove the read handler*/
 			purple_input_remove(soapconn->input_handler);
-			soapconn->input_handler = -1;
+			soapconn->input_handler = 0;
 			/*
 			 * close the soap connection,if more soap request came,
 			 * Just reconnect to do it,
@@ -568,7 +569,7 @@
 		soapconn->written_cb(soapconn, source, 0);
 	}
 	/*maybe we need to read the input?*/
-	if ( soapconn->input_handler == -1 ) {
+	if (soapconn->input_handler == 0) {
 		soapconn->input_handler = purple_input_add(soapconn->gsc->fd,
 			PURPLE_INPUT_READ, msn_soap_read_cb, soapconn);
 	}
--- a/libpurple/protocols/msn/state.c	Sat Sep 08 23:57:59 2007 +0000
+++ b/libpurple/protocols/msn/state.c	Sat Sep 08 23:59:25 2007 +0000
@@ -78,6 +78,7 @@
 	xmlnode_insert_child(dataNode,guidNode);
 
 	result = xmlnode_to_str(dataNode,&length);
+	xmlnode_free(dataNode);
 	return result;
 }