# HG changeset patch # User Elliott Sales de Andrade # Date 1238563536 0 # Node ID f2f4fbbb90067be46037fe2752ab34f3c083ec19 # Parent 5e5494482f017f84a8532265b3faa4a3bd21f9ba Fix a faulty condition that would result in an attempt to add most of your email-only contacts to your buddy and/or privacy list. This was temporary, but resulted in a lot of extra traffic during login. References #8579. diff -r 5e5494482f01 -r f2f4fbbb9006 libpurple/protocols/msn/contact.c --- a/libpurple/protocols/msn/contact.c Mon Mar 30 05:52:32 2009 +0000 +++ b/libpurple/protocols/msn/contact.c Wed Apr 01 05:25:36 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 */