merge of 'ed43f2a21190e316e1aa91e3eff1493594a16605'

Wed, 01 Apr 2009 05:28:20 +0000

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Wed, 01 Apr 2009 05:28:20 +0000
changeset 26606
ebd21e9c68c5
parent 26605
ed43f2a21190 (current diff)
parent 26601
ef456ee1f508 (diff)
child 26607
6728d0cb7a3c
child 26608
7e9d04aa7778
child 26610
86c828b108a6
child 26633
7fd634262b1d
child 26691
208457630eae

merge of 'ed43f2a21190e316e1aa91e3eff1493594a16605'
and 'ef456ee1f508397be9ecf949d58aeb31d030332b'

--- a/libpurple/protocols/msn/contact.c	Wed Apr 01 03:36:58 2009 +0000
+++ b/libpurple/protocols/msn/contact.c	Wed Apr 01 05:28:20 2009 +0000
@@ -697,25 +697,28 @@
 				/*TODO:  need to support the Mobile type*/
 				continue;
 			}
-			for (contactEmailNode = xmlnode_get_child(emailsNode, "ContactEmail"); contactEmailNode;
-					contactEmailNode = xmlnode_get_next_twin(contactEmailNode)) {
-				if (!(messengerEnabledNode = xmlnode_get_child(contactEmailNode, "isMessengerEnabled")))
-					continue;
+			for (contactEmailNode = xmlnode_get_child(emailsNode, "ContactEmail");
+			     contactEmailNode;
+			     contactEmailNode = xmlnode_get_next_twin(contactEmailNode)) {
+				if ((messengerEnabledNode = xmlnode_get_child(contactEmailNode, "isMessengerEnabled"))) {
 
-				msnEnabled = xmlnode_get_data(messengerEnabledNode);
+					msnEnabled = xmlnode_get_data(messengerEnabledNode);
+
+					if (msnEnabled && !strcmp(msnEnabled, "true")) {
+						if ((emailNode = xmlnode_get_child(contactEmailNode, "email")))
+							passport = xmlnode_get_data(emailNode);
 
-				if (msnEnabled && !strcmp(msnEnabled, "true")) {
-					if ((emailNode = xmlnode_get_child(contactEmailNode, "email")))
-						passport = xmlnode_get_data(emailNode);
+						/* Messenger enabled, Get the Passport*/
+						purple_debug_info("msn", "AB Yahoo/Federated User %s\n", passport ? passport : "(null)");
+						g_free(msnEnabled);
+						break;
+					}
 
-					/*Messenger enabled, Get the Passport*/
-					purple_debug_info("msn", "AB Yahoo/Federated User %s\n", passport ? passport : "(null)");
 					g_free(msnEnabled);
-					break;
 				}
-
-				g_free(msnEnabled);
 			}
+			if (passport == NULL) /* Couldn't find anything */
+				continue;
 		} else {
 			xmlnode *messenger_user;
 			/* ignore non-messenger contacts */

mercurial