$NetBSD$

--- gio/gsocket.c.orig	2009-09-19 01:20:04.000000000 +0200
+++ gio/gsocket.c
@@ -312,7 +312,7 @@ g_socket_details_from_fd (GSocket *socke
 
   fd = socket->priv->fd;
   optlen = sizeof value;
-  if (getsockopt (fd, SOL_SOCKET, SO_TYPE, (void *)&value, &optlen) != 0)
+  if (getsockopt (fd, SOL_SOCKET, SO_TYPE, (void *)&value, (socklen_t *)&optlen) != 0)
     {
       errsv = get_socket_errno ();
 
@@ -356,7 +356,7 @@ g_socket_details_from_fd (GSocket *socke
     }
 
   addrlen = sizeof address;
-  if (getsockname (fd, (struct sockaddr *) &address, &addrlen) != 0)
+  if (getsockname (fd, (struct sockaddr *) &address, (socklen_t *) &addrlen) != 0)
     {
       errsv = get_socket_errno ();
       goto err;
@@ -380,13 +380,13 @@ g_socket_details_from_fd (GSocket *socke
   if (socket->priv->family != G_SOCKET_FAMILY_INVALID)
     {
       addrlen = sizeof address;
-      if (getpeername (fd, (struct sockaddr *) &address, &addrlen) >= 0)
+      if (getpeername (fd, (struct sockaddr *) &address, (socklen_t *) &addrlen) >= 0)
 	socket->priv->connected = TRUE;
     }
 
   optlen = sizeof bool_val;
   if (getsockopt (fd, SOL_SOCKET, SO_KEEPALIVE,
-		  (void *)&bool_val, &optlen) == 0)
+		  (void *)&bool_val, (socklen_t *)&optlen) == 0)
     {
       g_assert (optlen == sizeof bool_val);
       socket->priv->keepalive = !!bool_val;
@@ -1105,7 +1105,7 @@ g_socket_get_local_address (GSocket  *so
 
   g_return_val_if_fail (G_IS_SOCKET (socket), NULL);
 
-  if (getsockname (socket->priv->fd, (struct sockaddr *) &buffer, &len) < 0)
+  if (getsockname (socket->priv->fd, (struct sockaddr *) &buffer, (socklen_t *) &len) < 0)
     {
       int errsv = get_socket_errno ();
       g_set_error (error, G_IO_ERROR, socket_io_error_from_errno (errsv),
@@ -1138,7 +1138,7 @@ g_socket_get_remote_address (GSocket  *s
 
   g_return_val_if_fail (G_IS_SOCKET (socket), NULL);
 
-  if (getpeername (socket->priv->fd, (struct sockaddr *) &buffer, &len) < 0)
+  if (getpeername (socket->priv->fd, (struct sockaddr *) &buffer, (socklen_t *) &len) < 0)
     {
       int errsv = get_socket_errno ();
       g_set_error (error, G_IO_ERROR, socket_io_error_from_errno (errsv),
@@ -1315,7 +1315,7 @@ g_socket_speaks_ipv4 (GSocket *socket)
 
         if (getsockopt (socket->priv->fd,
                         IPPROTO_IPV6, IPV6_V6ONLY,
-                        &v6_only, &sizeof_int) != 0)
+                        &v6_only, (socklen_t *) &sizeof_int) != 0)
           return FALSE;
 
         return !v6_only;
@@ -1551,7 +1551,7 @@ g_socket_check_connect_result (GSocket  
   int value;
 
   optlen = sizeof (value);
-  if (getsockopt (socket->priv->fd, SOL_SOCKET, SO_ERROR, (void *)&value, &optlen) != 0)
+  if (getsockopt (socket->priv->fd, SOL_SOCKET, SO_ERROR, (void *)&value, (socklen_t *)&optlen) != 0)
     {
       int errsv = get_socket_errno ();
 
