Mercurial > pidgin
changeset 30902:4f0d6ee5ffee
The end user is not going to be amused when he sees a "<URL>: Ok" connection
error.
author | ivan.komarov@soc.pidgin.im |
---|---|
date | Thu, 04 Nov 2010 18:28:48 +0000 |
parents | 56e1f06471a9 |
children | f8f853ab3aba |
files | libpurple/protocols/oscar/clientlogin.c |
diffstat | 1 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/oscar/clientlogin.c Tue Nov 02 20:55:06 2010 +0000 +++ b/libpurple/protocols/oscar/clientlogin.c Thu Nov 04 18:28:48 2010 +0000 @@ -93,10 +93,22 @@ static gchar *generate_error_message(xmlnode *resp, const char *url) { xmlnode *text; + xmlnode *status_code_node; + gchar *status_code; + gboolean have_error_code = TRUE; gchar *err = NULL; gchar *details = NULL; - if (resp && (text = xmlnode_get_child(resp, "statusText"))) { + status_code_node = xmlnode_get_child(resp, "statusCode"); + if (status_code_node) { + /* We can get 200 OK here if the server omitted something we think it shouldn't have (see #12783). + * No point in showing the "Ok" string to the user. + */ + if ((status_code = xmlnode_get_data_unescaped(status_code_node)) && strcmp(status_code, "200") == 0) { + have_error_code = FALSE; + } + } + if (have_error_code && resp && (text = xmlnode_get_child(resp, "statusText"))) { details = xmlnode_get_data(text); }