changeset 28130:7a61ed46f632

merge of '8351342d3a30c75649de9c3d4abc7b6f45ce8f82' and '938f0bfb7e234aa40d9a86516142a372fa47ce40'
author Paul Aurich <paul@darkrain42.org>
date Sat, 01 Aug 2009 18:55:27 +0000
parents b6a9e2079d50 (diff) c72d171565c4 (current diff)
children 478a3866ea90
files
diffstat 2 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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) {