changeset 25848:b15dcea02da9

disapproval of revision 'cf02e7f6a3488e78b81601065f32c8eee8a19b4c'
author Richard Laager <rlaager@wiktel.com>
date Fri, 28 Nov 2008 00:31:28 +0000
parents 9bc0c3274c3c
children 97f1031d9bd0
files libpurple/proxy.c
diffstat 1 files changed, 23 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/proxy.c	Fri Nov 28 00:24:42 2008 +0000
+++ b/libpurple/proxy.c	Fri Nov 28 00:31:28 2008 +0000
@@ -212,7 +212,7 @@
 {
 	static PurpleProxyInfo info = {0, NULL, 0, NULL, NULL};
 	gboolean use_same_proxy = FALSE;
-	gchar *tmp;
+	gchar *tmp, *err = NULL;
 
 	tmp = g_find_program_in_path("gconftool-2");
 	if (tmp == NULL)
@@ -223,8 +223,10 @@
 
 	/* Check whether to use a proxy. */
 	if (!g_spawn_command_line_sync("gconftool-2 -g /system/proxy/mode",
-			&tmp, NULL, NULL, NULL))
+			&tmp, &err, NULL, NULL))
 		return purple_global_proxy_get_info();
+	g_free(err);
+	err = NULL;
 
 	if (!strcmp(tmp, "none\n")) {
 		info.type = PURPLE_PROXY_NONE;
@@ -256,8 +258,10 @@
 	}
 
 	if (!g_spawn_command_line_sync("gconftool-2 -g /system/http_proxy/use_same_proxy",
-			&tmp, NULL, NULL, NULL))
+			&tmp, &err, NULL, NULL))
 		return purple_global_proxy_get_info();
+	g_free(err);
+	err = NULL;
 
 	if (!strcmp(tmp, "true\n"))
 		use_same_proxy = TRUE;
@@ -266,8 +270,10 @@
 
 	if (!use_same_proxy) {
 		if (!g_spawn_command_line_sync("gconftool-2 -g /system/proxy/socks_host",
-			&info.host, NULL, NULL, NULL))
+			&info.host, &err, NULL, NULL))
 			return purple_global_proxy_get_info();
+		g_free(err);
+		err = NULL;
 	}
 
 	if(info.host != NULL)
@@ -276,19 +282,22 @@
 	if (!use_same_proxy && (info.host != NULL) && (*info.host != '\0')) {
 		info.type = PURPLE_PROXY_SOCKS5;
 		if (!g_spawn_command_line_sync("gconftool-2 -g /system/proxy/socks_port",
-				&tmp, NULL, NULL, NULL))
+				&tmp, &err, NULL, NULL))
 		{
 			g_free(info.host);
 			info.host = NULL;
 			return purple_global_proxy_get_info();
 		}
+		g_free(err);
 		info.port = atoi(tmp);
 		g_free(tmp);
 	} else {
 		g_free(info.host);
 		if (!g_spawn_command_line_sync("gconftool-2 -g /system/http_proxy/host",
-					&info.host, NULL, NULL, NULL))
+					&info.host, &err, NULL, NULL))
 			return purple_global_proxy_get_info();
+		g_free(err);
+		err = NULL;
 
 		/* If we get this far then we know we're using an HTTP proxy */
 		info.type = PURPLE_PROXY_HTTP;
@@ -305,16 +314,18 @@
 		}
 
 		if (!g_spawn_command_line_sync("gconftool-2 -g /system/http_proxy/authentication_user",
-					&info.username, NULL, NULL, NULL))
+					&info.username, &err, NULL, NULL))
 		{
 			g_free(info.host);
 			info.host = NULL;
 			return purple_global_proxy_get_info();
 		}
+		g_free(err);
+		err = NULL;
 		g_strchomp(info.username);
 
 		if (!g_spawn_command_line_sync("gconftool-2 -g /system/http_proxy/authentication_password",
-					&info.password, NULL, NULL, NULL))
+					&info.password, &err, NULL, NULL))
 		{
 			g_free(info.host);
 			info.host = NULL;
@@ -322,10 +333,12 @@
 			info.username = NULL;
 			return purple_global_proxy_get_info();
 		}
+		g_free(err);
+		err = NULL;
 		g_strchomp(info.password);
 
 		if (!g_spawn_command_line_sync("gconftool-2 -g /system/http_proxy/port",
-					&tmp, NULL, NULL, NULL))
+					&tmp, &err, NULL, NULL))
 		{
 			g_free(info.host);
 			info.host = NULL;
@@ -335,6 +348,7 @@
 			info.password = NULL;
 			return purple_global_proxy_get_info();
 		}
+		g_free(err);
 		info.port = atoi(tmp);
 		g_free(tmp);
 	}