From 4f3dd18814bbcc75608bbb56a09b844137b76823 Mon Sep 17 00:00:00 2001 From: Peer Stritzinger Date: Wed, 15 Feb 2012 21:15:18 +0100 Subject: Add missing HAVE_IN6 && AF_INET6 ifdef This prevents building for operating systems that do not yet have IPv6 compatible socket API. Error can be reproduced by (cross)building for a os that doesn't have these headers. This will abort with a error about incomplete type 'struct in6_addr'. All other uses of IPv6 API in inet_drv.c are conditionalized like in the patch. --- erts/emulator/drivers/common/inet_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c index 47a99fdbe6..33523d8e57 100644 --- a/erts/emulator/drivers/common/inet_drv.c +++ b/erts/emulator/drivers/common/inet_drv.c @@ -4089,6 +4089,7 @@ static char* buf_to_sockaddr(char* ptr, char* end, struct sockaddr* addr) addr->sa_family = AF_INET; return ptr + sizeof(struct in_addr); } +#if defined(HAVE_IN6) && defined(AF_INET6) case INET_AF_INET6: { struct in6_addr *p = &((struct sockaddr_in6*)addr)->sin6_addr; buf_check(ptr,end,sizeof(struct in6_addr)); @@ -4096,6 +4097,7 @@ static char* buf_to_sockaddr(char* ptr, char* end, struct sockaddr* addr) addr->sa_family = AF_INET6; return ptr + sizeof(struct in6_addr); } +#endif } error: return NULL; -- cgit v1.2.3