Mercurial > pidgin
diff libpurple/proxy.c @ 25848:b15dcea02da9
disapproval of revision 'cf02e7f6a3488e78b81601065f32c8eee8a19b4c'
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Fri, 28 Nov 2008 00:31:28 +0000 |
parents | 9bc0c3274c3c |
children |
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); }