/pidgin/main: 8785324c1740: Remove some async lookups that accid...

Gary Kramlich <[email protected]>
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Changeset: 8785324c17408e432c116dca987d9ea16cddb7f7
Author:	 Gary Kramlich <[email protected]>
Date:	 2015-12-20 13:54 -0600
Branch:	 use-gresolver
URL: https://hg.pidgin.im/pidgin/main/rev/8785324c1740

Description:

Remove some async lookups that accidentally got left in from my first run at this

diffstat:

 libpurple/network.c |  61 ++++++++++++++++------------------------------------
 1 files changed, 19 insertions(+), 42 deletions(-)

diffs (97 lines):

diff --git a/libpurple/network.c b/libpurple/network.c
--- a/libpurple/network.c
+++ b/libpurple/network.c
@@ -977,38 +977,27 @@ nm_dbus_name_owner_changed_cb(DBusGProxy
 
 #endif
 
-static GInetAddress *
-purple_network_ip_lookup(const gchar *hostname) {
+static void
+purple_network_ip_lookup_cb(GObject *sender, GAsyncResult *result, gpointer data) {
 	GError *error = NULL;
-	GList *addresses =NULL, *l = NULL;
+	GList *addresses = NULL;
 	GInetAddress *address = NULL;
+	const gchar **ip_address = (const gchar **)data;
 
-	addresses = g_resolver_lookup_by_name(g_resolver_get_default(), hostname, NULL, &error);
-
-	if(addresses == NULL) {
+	addresses = g_resolver_lookup_by_name_finish(g_resolver_get_default(), result, &error);
+	if(error) {
 		purple_debug_info("network", "lookup of IP address failed: %s\n", error->message);
 
 		g_error_free(error);
 
-		return NULL;
+		return;
 	}
 
-	for(l = addresses; l; l = l->next) {
-		address = G_INET_ADDRESS(l->data);
+	address = G_INET_ADDRESS(addresses->data);
 
-		if(!g_inet_address_get_is_loopback(address) && !g_inet_address_get_is_link_local(address)) {
-			break;
-		}
-
-		address = NULL;
-	}
-
-	if(address != NULL)
-		g_object_ref(G_OBJECT(address));
+	*ip_address = g_inet_address_to_string(address);
 
 	g_resolver_free_addresses(addresses);
-
-	return address;
 }
 
 void
@@ -1016,17 +1005,11 @@ purple_network_set_stun_server(const gch
 {
 	if (stun_server && stun_server[0] != '\0') {
 		if (purple_network_is_available()) {
-			GInetAddress *address = NULL;
-
-			purple_debug_info("network", "running DNS query for STUN server\n");
-
-			address = purple_network_ip_lookup(stun_server);
-
-			if(address != NULL) {
-				stun_ip = g_inet_address_to_string(address);
-
-				g_object_unref(G_OBJECT(address));
-			}
+			g_resolver_lookup_by_name_async(g_resolver_get_default(),
+			                                stun_server,
+			                                NULL,
+			                                purple_network_ip_lookup_cb,
+			                                &stun_ip);
 		} else {
 			purple_debug_info("network",
 				"network is unavailable, don't try to update STUN IP");
@@ -1042,17 +1025,11 @@ purple_network_set_turn_server(const gch
 {
 	if (turn_server && turn_server[0] != '\0') {
 		if (purple_network_is_available()) {
-			GInetAddress *address = NULL;
-
-			purple_debug_info("network", "running DNS query for TURN server\n");
-
-			address = purple_network_ip_lookup(turn_server);
-
-			if(address != NULL) {
-				turn_ip = g_inet_address_to_string(address);
-
-				g_object_unref(G_OBJECT(address));
-			}
+			g_resolver_lookup_by_name_async(g_resolver_get_default(),
+			                                turn_server,
+			                                NULL,
+			                                purple_network_ip_lookup_cb,
+			                                &turn_server);
 		} else {
 			purple_debug_info("network",
 				"network is unavailable, don't try to update TURN IP");

_______________________________________________
Commits mailing list
[email protected]
https://pidgin.im/cgi-bin/mailman/listinfo/commits
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.