summaryrefslogtreecommitdiff
path: root/socket/udp-bsd.c
diff options
context:
space:
mode:
Diffstat (limited to 'socket/udp-bsd.c')
-rw-r--r--socket/udp-bsd.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/socket/udp-bsd.c b/socket/udp-bsd.c
index 8f65e76..cad3b32 100644
--- a/socket/udp-bsd.c
+++ b/socket/udp-bsd.c
@@ -293,20 +293,23 @@ socket_send_message (NiceSocket *sock, const NiceAddress *to,
if (g_error_matches (child_error, G_IO_ERROR, G_IO_ERROR_WOULD_BLOCK)) {
len = 0;
} else if (nice_debug_is_verbose()) {
- struct sockaddr sa;
+ union {
+ struct sockaddr_storage ss;
+ struct sockaddr sa;
+ } sa;
GSocketAddress *gsocket;
NiceAddress local_addr;
NiceAddress remote_addr;
char remote_addr_str[INET6_ADDRSTRLEN];
char local_addr_str[INET6_ADDRSTRLEN];
- g_socket_address_to_native (gaddr, &sa, sizeof (sa), NULL);
- nice_address_set_from_sockaddr (&remote_addr, &sa);
+ g_socket_address_to_native (gaddr, &sa.sa, sizeof (sa), NULL);
+ nice_address_set_from_sockaddr (&remote_addr, &sa.sa);
nice_address_to_string (&remote_addr, remote_addr_str);
gsocket = g_socket_get_local_address (sock->fileno, NULL);
- g_socket_address_to_native (gsocket, &sa, sizeof (sa), NULL);
- nice_address_set_from_sockaddr (&local_addr, &sa);
+ g_socket_address_to_native (gsocket, &sa.sa, sizeof (sa), NULL);
+ nice_address_set_from_sockaddr (&local_addr, &sa.sa);
nice_address_to_string (&local_addr, local_addr_str);
g_object_unref (gsocket);