From 7de1ebe0d648c4e89111645a90549d2220b49322 Mon Sep 17 00:00:00 2001 From: rofl0r Date: Sat, 15 Aug 2020 01:26:39 +0100 Subject: [PATCH] netdb.h: fix prototype of gethostbyaddr() first parameter should be const void*, in line with freebsd and linux etc. https://xref.landonf.org/source/xref/freebsd-current/include/netdb.h#232 Change-Id: I5e953e8e7e49a6f09cd1143de6ca57eb98f77d73 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3147 Reviewed-by: Michael Lotz --- headers/posix/netdb.h | 2 +- src/system/libnetwork/netresolv/irs/gethnamaddr.c | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/headers/posix/netdb.h b/headers/posix/netdb.h index 2610400e13..75bb1060fe 100644 --- a/headers/posix/netdb.h +++ b/headers/posix/netdb.h @@ -195,7 +195,7 @@ void endnetent(void); void endprotoent(void); void endservent(void); void freehostent(struct hostent *host); -struct hostent *gethostbyaddr(const char *address, socklen_t length, int type); +struct hostent *gethostbyaddr(const void *address, socklen_t length, int type); struct hostent *gethostbyname(const char *name); struct hostent *gethostbyname2(const char *name, int type); struct hostent *gethostent(void); diff --git a/src/system/libnetwork/netresolv/irs/gethnamaddr.c b/src/system/libnetwork/netresolv/irs/gethnamaddr.c index e06d22c5f1..0361502a48 100644 --- a/src/system/libnetwork/netresolv/irs/gethnamaddr.c +++ b/src/system/libnetwork/netresolv/irs/gethnamaddr.c @@ -669,7 +669,7 @@ gethostbyname_internal(const char *name, int af, res_state res) } struct hostent * -gethostbyaddr(const char *addr, /* XXX should have been def'd as u_char! */ +gethostbyaddr(const void *addr, socklen_t len, int af) { const u_char *uaddr = (const u_char *)addr; @@ -694,7 +694,6 @@ gethostbyaddr(const char *addr, /* XXX should have been def'd as u_char! */ (IN6_IS_ADDR_V4MAPPED((const struct in6_addr *)(const void *)uaddr) || IN6_IS_ADDR_V4COMPAT((const struct in6_addr *)(const void *)uaddr))) { /* Unmap. */ - addr += IN6ADDRSZ - INADDRSZ; uaddr += IN6ADDRSZ - INADDRSZ; af = AF_INET; len = INADDRSZ;