Sat, 01 Aug 2009 18:55:27 +0000
merge of 'c1b5711e3689876bd5d75a30cbb73051569cd381'
and 'a47820a26c93ff0acf6fcd983550f1dd39046108'
--- a/libpurple/protocols/yahoo/libymsg.c Sat Aug 01 18:51:02 2009 +0000 +++ b/libpurple/protocols/yahoo/libymsg.c Sat Aug 01 18:55:27 2009 +0000 @@ -2082,6 +2082,12 @@ msg = g_strdup(_("Your account is locked, please log in to the Yahoo! website.")); reason = PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED; break; + case 52: + /* See #9660. As much as we know, reconnecting shouldn't hurt */ + purple_debug_info("yahoo", "Got error 52, Set to autoreconnect\n"); + msg = g_strdup_printf(_("Unknown error")); + reason = PURPLE_CONNECTION_ERROR_NETWORK_ERROR; + break; case 1013: msg = g_strdup(_("Invalid username")); reason = PURPLE_CONNECTION_ERROR_INVALID_USERNAME;
--- a/libpurple/protocols/yahoo/util.c Sat Aug 01 18:51:02 2009 +0000 +++ b/libpurple/protocols/yahoo/util.c Sat Aug 01 18:55:27 2009 +0000 @@ -757,6 +757,8 @@ } else if (!g_ascii_strncasecmp(&src[i+1], "A HREF=\"", j - i - 1)) { j += 7; g_string_append(dest, "\033[lm"); + if (purple_str_has_prefix(src + j, "mailto:")) + j += sizeof("mailto:") - 1; while (1) { g_string_append_c(dest, src[j]); if (++j >= src_len) {