diff libpurple/protocols/msn/httpconn.c @ 27646:8e31eec7b621

Propagate connect errors from the MSN proxy callback to the servconn error handling function so that the real proxy error is displayed instead of a generic "Connect Error". Fixes #8280.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Tue, 21 Jul 2009 04:31:27 +0000
parents 35b6fd563056
children 351d07aefb09
line wrap: on
line diff
--- a/libpurple/protocols/msn/httpconn.c	Tue Jul 21 03:57:20 2009 +0000
+++ b/libpurple/protocols/msn/httpconn.c	Tue Jul 21 04:31:27 2009 +0000
@@ -293,7 +293,7 @@
 		purple_debug_error("msn", "HTTP: servconn %03d read error, "
 			"len: %" G_GSSIZE_FORMAT ", errno: %d, error: %s\n",
 			servconn->num, len, error, g_strerror(errno));
-		msn_servconn_got_error(servconn, MSN_SERVCONN_ERROR_READ);
+		msn_servconn_got_error(servconn, MSN_SERVCONN_ERROR_READ, NULL);
 
 		return;
 	}
@@ -309,7 +309,7 @@
 	{
 		/* Either we must wait for more input, or something went wrong */
 		if (error)
-			msn_servconn_got_error(servconn, MSN_SERVCONN_ERROR_READ);
+			msn_servconn_got_error(servconn, MSN_SERVCONN_ERROR_READ, NULL);
 
 		return;
 	}
@@ -317,7 +317,7 @@
 	if (error)
 	{
 		purple_debug_error("msn", "HTTP: Special error\n");
-		msn_servconn_got_error(servconn, MSN_SERVCONN_ERROR_READ);
+		msn_servconn_got_error(servconn, MSN_SERVCONN_ERROR_READ, NULL);
 
 		return;
 	}
@@ -368,7 +368,7 @@
 			return;
 
 		/* Error! */
-		msn_servconn_got_error(httpconn->servconn, MSN_SERVCONN_ERROR_WRITE);
+		msn_servconn_got_error(httpconn->servconn, MSN_SERVCONN_ERROR_WRITE, NULL);
 		return;
 	}
 
@@ -394,7 +394,7 @@
 
 	if ((res <= 0) && ((errno != EAGAIN) && (errno != EWOULDBLOCK)))
 	{
-		msn_servconn_got_error(httpconn->servconn, MSN_SERVCONN_ERROR_WRITE);
+		msn_servconn_got_error(httpconn->servconn, MSN_SERVCONN_ERROR_WRITE, NULL);
 		return FALSE;
 	}
 
@@ -672,7 +672,7 @@
 	{
 		purple_debug_error("msn", "HTTP: Connection error: %s\n",
 		                   error_message ? error_message : "(null)");
-		msn_servconn_got_error(httpconn->servconn, MSN_SERVCONN_ERROR_CONNECT);
+		msn_servconn_got_error(httpconn->servconn, MSN_SERVCONN_ERROR_CONNECT, error_message);
 	}
 }