Mercurial > pidgin
diff libpurple/protocols/msn/contact.c @ 24517:2b4c909b40c4
Print a specific error to debug log about EmailDomainIsFederated error.
Probably won't need this once we properly add federated contacts.
References #6755.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Sun, 07 Dec 2008 07:04:23 +0000 |
parents | ff275531cbf2 |
children | 4fd22591e3f0 |
line wrap: on
line diff
--- a/libpurple/protocols/msn/contact.c Mon Dec 01 05:53:40 2008 +0000 +++ b/libpurple/protocols/msn/contact.c Sun Dec 07 07:04:23 2008 +0000 @@ -946,15 +946,25 @@ MsnUser *user; xmlnode *guid; - char *fault_str; + xmlnode *fault; - /* We don't know how to respond to this faultcode, so log it */ - fault_str = xmlnode_to_str(xmlnode_get_child(resp->xml, "Body/Fault"), NULL); - if (fault_str != NULL) { - purple_debug_error("msn", "Operation {%s} Failed, SOAP Fault was: %s\n", - msn_contact_operation_str(state->action), fault_str); - g_free(fault_str); - return; + fault = xmlnode_get_child(resp->xml, "Body/Fault"); + if (fault != NULL) { + char *errorcode = xmlnode_get_data(xmlnode_get_child(fault, "detail/errorcode")); + char *fault_str; + if (errorcode && !strcmp(errorcode, "EmailDomainIsFederated")) { + /* Do something special! */ + purple_debug_error("msn", "Contact is from a federated domain, but don't know what to do yet!\n"); + } + + /* We don't know how to respond to this faultcode, so log it */ + fault_str = xmlnode_to_str(fault, NULL); + if (fault_str != NULL) { + purple_debug_error("msn", "Operation {%s} Failed, SOAP Fault was: %s\n", + msn_contact_operation_str(state->action), fault_str); + g_free(fault_str); + return; + } } g_return_if_fail(session != NULL);