diff options
Diffstat (limited to 'lib/lwres/getaddrinfo.c')
-rw-r--r-- | lib/lwres/getaddrinfo.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/lwres/getaddrinfo.c b/lib/lwres/getaddrinfo.c index 8244bf3b326ba..f8b4c81d2c412 100644 --- a/lib/lwres/getaddrinfo.c +++ b/lib/lwres/getaddrinfo.c @@ -398,7 +398,7 @@ lwres_getaddrinfo(const char *hostname, const char *servname, goto inet6_addr; } addrsize = sizeof(struct in_addr); - addroff = (char *)(&SIN(0)->sin_addr) - (char *)0; + addroff = offsetof(struct sockaddr_in, sin_addr); family = AF_INET; goto common; #ifdef LWRES_HAVE_SIN6_SCOPE_ID @@ -408,7 +408,7 @@ lwres_getaddrinfo(const char *hostname, const char *servname, if (family && family != AF_INET6) return (EAI_NONAME); addrsize = sizeof(struct in6_addr); - addroff = (char *)(&SIN6(0)->sin6_addr) - (char *)0; + addroff = offsetof(struct sockaddr_in6, sin6_addr); family = AF_INET6; goto common; #endif @@ -417,7 +417,7 @@ lwres_getaddrinfo(const char *hostname, const char *servname, return (EAI_NONAME); inet6_addr: addrsize = sizeof(struct in6_addr); - addroff = (char *)(&SIN6(0)->sin6_addr) - (char *)0; + addroff = offsetof(struct sockaddr_in6, sin6_addr); family = AF_INET6; common: |