propagate from branch 'im.pidgin.pidgin' (head 0fa4d11071821de39efe2d632d01fd63e2bbeded) sadrul.tooltips

Thu, 06 Dec 2007 22:46:51 +0000

author
Sadrul Habib Chowdhury <sadrul@pidgin.im>
date
Thu, 06 Dec 2007 22:46:51 +0000
branch
sadrul.tooltips
changeset 21992
7d0ccc0b1182
parent 21904
04838305a40c (current diff)
parent 21909
0fa4d1107182 (diff)
child 21993
3fdb200f15bb

propagate from branch 'im.pidgin.pidgin' (head 0fa4d11071821de39efe2d632d01fd63e2bbeded)
to branch 'im.pidgin.pidgin.sadrul.tooltips' (head 04838305a40cd60579a5c5a19eaacd13e1a04ffa)

--- a/COPYRIGHT	Thu Dec 06 08:44:34 2007 +0000
+++ b/COPYRIGHT	Thu Dec 06 22:46:51 2007 +0000
@@ -309,6 +309,7 @@
 Tim Ringenbach
 Dennis Ristuccia
 Lee Roach
+Eion Robb
 Rhett Robinson
 Luciano Miguel Ferreira Rocha
 Andrew Rodland
--- a/libpurple/account.c	Thu Dec 06 08:44:34 2007 +0000
+++ b/libpurple/account.c	Thu Dec 06 22:46:51 2007 +0000
@@ -2529,22 +2529,19 @@
 
 	g_return_val_if_fail(name != NULL, NULL);
 
-	who = g_strdup(purple_normalize(NULL, name));
-
 	for (l = purple_accounts_get_all(); l != NULL; l = l->next) {
 		account = (PurpleAccount *)l->data;
 
-		if (!strcmp(purple_normalize(NULL, purple_account_get_username(account)), who) &&
+		who = g_strdup(purple_normalize(account, name));
+		if (!strcmp(purple_normalize(account, purple_account_get_username(account)), who) &&
 			(!protocol_id || !strcmp(account->protocol_id, protocol_id))) {
-
+			g_free(who);
 			break;
 		}
-
+		g_free(who);
 		account = NULL;
 	}
 
-	g_free(who);
-
 	return account;
 }
 
--- a/libpurple/pounce.c	Thu Dec 06 08:44:34 2007 +0000
+++ b/libpurple/pounce.c	Thu Dec 06 22:46:51 2007 +0000
@@ -181,7 +181,8 @@
 
 	child = xmlnode_new_child(node, "account");
 	xmlnode_set_attrib(child, "protocol", pouncer->protocol_id);
-	xmlnode_insert_data(child, purple_account_get_username(pouncer), -1);
+	xmlnode_insert_data(child,
+			purple_normalize(pouncer, purple_account_get_username(pouncer)), -1);
 
 	child = xmlnode_new_child(node, "pouncee");
 	xmlnode_insert_data(child, purple_pounce_get_pouncee(pounce), -1);
--- a/libpurple/protocols/msn/notification.c	Thu Dec 06 08:44:34 2007 +0000
+++ b/libpurple/protocols/msn/notification.c	Thu Dec 06 22:46:51 2007 +0000
@@ -1579,6 +1579,7 @@
 {
 	xmlnode * root;
 	gchar * buf;
+	int xmllen;
 
 	g_return_if_fail(cmd->payload != NULL);
 
@@ -1588,10 +1589,10 @@
 		return;
 	}
 	
-	buf = xmlnode_to_formatted_str(root, NULL);
+	buf = xmlnode_to_formatted_str(root, &xmllen);
 
 	/* get the payload content */
-	purple_debug_info("MSNP14","GCF command payload:\n%s\n",buf);
+	purple_debug_info("MSNP14","GCF command payload:\n%.*s\n", xmllen, buf);
 	
 	g_free(buf);
 	xmlnode_free(root);
--- a/libpurple/protocols/msn/session.c	Thu Dec 06 08:44:34 2007 +0000
+++ b/libpurple/protocols/msn/session.c	Thu Dec 06 22:46:51 2007 +0000
@@ -74,6 +74,7 @@
 
 	msn_userlist_destroy(session->userlist);
 
+	g_free(session->psm);
 	g_free(session->passport_info.t);
 	g_free(session->passport_info.p);
 	g_free(session->passport_info.kv);
--- a/libpurple/protocols/msn/state.c	Thu Dec 06 08:44:34 2007 +0000
+++ b/libpurple/protocols/msn/state.c	Thu Dec 06 22:46:51 2007 +0000
@@ -238,13 +238,15 @@
 	media = create_media_string(presence);
 	g_free(session->psm);
 	session->psm = msn_build_psm(statusline_stripped, media, NULL);
-	g_free(statusline_stripped);
 
 	payload = session->psm;
 	purple_debug_misc("MSNP14","Sending UUX command with payload: %s\n",payload);
 	trans = msn_transaction_new(cmdproc, "UUX", "%d", strlen(payload));
 	msn_transaction_set_payload(trans, payload, strlen(payload));
 	msn_cmdproc_send_trans(cmdproc, trans);
+
+	g_free(statusline_stripped);
+	g_free(media);
 }
 
 void
--- a/libpurple/protocols/msn/user.c	Thu Dec 06 08:44:34 2007 +0000
+++ b/libpurple/protocols/msn/user.c	Thu Dec 06 22:46:51 2007 +0000
@@ -83,6 +83,7 @@
 	g_free(user->media.artist);
 	g_free(user->media.title);
 	g_free(user->media.album);
+	g_free(user->statusline);
 
 	g_free(user);
 }
--- a/libpurple/savedstatuses.c	Thu Dec 06 08:44:34 2007 +0000
+++ b/libpurple/savedstatuses.c	Thu Dec 06 22:46:51 2007 +0000
@@ -243,7 +243,9 @@
 
 	child = xmlnode_new_child(node, "account");
 	xmlnode_set_attrib(child, "protocol", purple_account_get_protocol_id(substatus->account));
-	xmlnode_insert_data(child, purple_account_get_username(substatus->account), -1);
+	xmlnode_insert_data(child,
+			purple_normalize(substatus->account,
+				purple_account_get_username(substatus->account)), -1);
 
 	child = xmlnode_new_child(node, "state");
 	xmlnode_insert_data(child, purple_status_type_get_id(substatus->type), -1);
--- a/libpurple/util.c	Thu Dec 06 08:44:34 2007 +0000
+++ b/libpurple/util.c	Thu Dec 06 22:46:51 2007 +0000
@@ -921,6 +921,7 @@
 {
 	const char *pln;
 	int len, pound;
+	char temp[2];
 
 	if (!text || *text != '&')
 		return NULL;
@@ -943,8 +944,9 @@
 		pln = "\302\256";      /* or use g_unichar_to_utf8(0xae); */
 	else if(IS_ENTITY("&apos;"))
 		pln = "\'";
-	else if(*(text+1) == '#' && (sscanf(text, "&#%u;", &pound) == 1) &&
-			pound != 0 && *(text+3+(gint)log10(pound)) == ';') {
+	else if(*(text+1) == '#' &&
+			(sscanf(text, "&#%u%1[;]", &pound, temp) == 2 || sscanf(text, "&#x%x%1[;]", &pound, temp) == 2) &&
+			pound != 0) {
 		static char buf[7];
 		int buflen = g_unichar_to_utf8((gunichar)pound, buf);
 		buf[buflen] = '\0';

mercurial