diff --git a/src/network/socket.c b/src/network/socket.c index 8eb272e1..732f782e 100644 --- a/src/network/socket.c +++ b/src/network/socket.c @@ -32,6 +32,10 @@ #endif #endif /* HAVE_GETIFADDRS */ +#ifdef HAVE_ARPA_INET_H +#include +#endif + #include "elinks.h" #include "config/options.h" @@ -275,7 +279,7 @@ get_pasv_socket(struct socket *ctrl_socket, struct sockaddr_storage *addr) struct sockaddr *pasv_addr = (struct sockaddr *) addr; size_t addrlen; int sock = -1; - int len; + socklen_t len; #ifdef CONFIG_IPV6 struct sockaddr_in6 bind_addr6; @@ -449,7 +453,7 @@ static void connected(struct socket *socket) { int err = 0; - int len = sizeof(err); + socklen_t len = sizeof(err); assertm(socket->connect_info, "Lost connect_info!"); if_assert_failed return; diff --git a/src/osdep/generic.h b/src/osdep/generic.h index 0dbc4856..9223cd50 100644 --- a/src/osdep/generic.h +++ b/src/osdep/generic.h @@ -37,6 +37,13 @@ #define IP_ADDRESS_BUFFER_SIZE INET_ADDRSTRLEN #endif +#ifndef PF_INET +#define PF_INET AF_INET +#endif + +#ifndef PF_INET6 +#define PF_INET6 AF_INET6 +#endif /* Attempt to workaround the EINTR mess. */ #if defined(EINTR) && !defined(CONFIG_OS_WIN32) diff --git a/src/protocol/bittorrent/bencoding.c b/src/protocol/bittorrent/bencoding.c index f1d9206e..6a7d0aae 100644 --- a/src/protocol/bittorrent/bencoding.c +++ b/src/protocol/bittorrent/bencoding.c @@ -15,6 +15,10 @@ #include /* OS/2 needs this after sys/types.h */ #endif +#ifdef HAVE_ARPA_INET_H +#include +#endif + #include "elinks.h" #include "protocol/bittorrent/bencoding.h"