fix implicit decl warnings
[deb_libnfs.git] / lib / socket.c
index 39bb6a7e97323ca67a372c070ccd5cdecc6d69f0..f8db957e0bb600510fcba27afc06dd04b2145c1b 100644 (file)
@@ -68,6 +68,7 @@
 #include <fcntl.h>
 #include <string.h>
 #include <errno.h>
+#include <time.h>
 #include <sys/types.h>
 #include "libnfs-zdr.h"
 #include "libnfs.h"
@@ -506,7 +507,7 @@ static int rpc_connect_sockaddr_async(struct rpc_context *rpc, struct sockaddr_s
                                        ((struct sockaddr_in6 *)&ss)->sin6_port = port;
                                        ((struct sockaddr_in6 *)&ss)->sin6_family      = AF_INET6;
 #ifdef HAVE_SOCKADDR_LEN
-                                       ((struct sockaddr_in6 *)&ss)->sin6_len = sizeof(struct sockaddr_in);
+                                       ((struct sockaddr_in6 *)&ss)->sin6_len = sizeof(struct sockaddr_in6);
 #endif
                                        break;
                                }
@@ -560,6 +561,7 @@ int rpc_connect_async(struct rpc_context *rpc, const char *server, int port, rpc
        case AF_INET:
                ((struct sockaddr_in *)&rpc->s)->sin_family = ai->ai_family;
                ((struct sockaddr_in *)&rpc->s)->sin_port   = htons(port);
+               ((struct sockaddr_in *)&rpc->s)->sin_addr   = ((struct sockaddr_in *)(ai->ai_addr))->sin_addr;
 #ifdef HAVE_SOCKADDR_LEN
                ((struct sockaddr_in *)&rpc->s)->sin_len = sizeof(struct sockaddr_in);
 #endif
@@ -567,6 +569,7 @@ int rpc_connect_async(struct rpc_context *rpc, const char *server, int port, rpc
        case AF_INET6:
                ((struct sockaddr_in6 *)&rpc->s)->sin6_family = ai->ai_family;
                ((struct sockaddr_in6 *)&rpc->s)->sin6_port   = htons(port);
+               ((struct sockaddr_in6 *)&rpc->s)->sin6_addr   = ((struct sockaddr_in6 *)(ai->ai_addr))->sin6_addr;
 #ifdef HAVE_SOCKADDR_LEN
                ((struct sockaddr_in6 *)&rpc->s)->sin6_len = sizeof(struct sockaddr_in6);
 #endif