# HG changeset patch # User Paul Aurich # Date 1266134708 0 # Node ID 0257b8fe21d60328101fe4cbb2db816e18496bef # Parent bd09de7f3558e77a4268a94fa7c099087159de8d proxy: Fix printing IPv6 addresses From "0:0:2001:6f8:999::" (wrong) to "2001:6f8:999::1" (correct). diff -r bd09de7f3558 -r 0257b8fe21d6 libpurple/proxy.c --- a/libpurple/proxy.c Sun Feb 14 07:33:34 2010 +0000 +++ b/libpurple/proxy.c Sun Feb 14 08:05:08 2010 +0000 @@ -2100,8 +2100,12 @@ addr = connect_data->hosts->data; connect_data->hosts = g_slist_remove(connect_data->hosts, connect_data->hosts->data); #ifdef HAVE_INET_NTOP - inet_ntop(addr->sa_family, &((struct sockaddr_in *)addr)->sin_addr, - ipaddr, sizeof(ipaddr)); + if (addr->sa_family == AF_INET) + inet_ntop(addr->sa_family, &((struct sockaddr_in *)addr)->sin_addr, + ipaddr, sizeof(ipaddr)); + else if (addr->sa_family == AF_INET6) + inet_ntop(addr->sa_family, &((struct sockaddr_in6 *)addr)->sin6_addr, + ipaddr, sizeof(ipaddr)); #else memcpy(ipaddr, inet_ntoa(((struct sockaddr_in *)addr)->sin_addr), sizeof(ipaddr));