diff --git a/Userland/Libraries/LibC/netdb.cpp b/Userland/Libraries/LibC/netdb.cpp index f853c42be2..7231a1ac69 100644 --- a/Userland/Libraries/LibC/netdb.cpp +++ b/Userland/Libraries/LibC/netdb.cpp @@ -794,14 +794,15 @@ const char* gai_strerror(int errcode) int getnameinfo(const struct sockaddr* __restrict addr, socklen_t addrlen, char* __restrict host, socklen_t hostlen, char* __restrict serv, socklen_t servlen, int flags) { - (void)flags; - if (addr->sa_family != AF_INET || addrlen < sizeof(sockaddr_in)) return EAI_FAMILY; const sockaddr_in* sin = reinterpret_cast(addr); if (host && hostlen > 0) { + if (flags & NI_NAMEREQD) + dbgln("getnameinfo flag NI_NAMEREQD not implemented"); + if (!inet_ntop(AF_INET, &sin->sin_addr, host, hostlen)) { if (errno == ENOSPC) return EAI_OVERFLOW; diff --git a/Userland/Libraries/LibC/netdb.h b/Userland/Libraries/LibC/netdb.h index 4560466fa4..75ba1aa8c7 100644 --- a/Userland/Libraries/LibC/netdb.h +++ b/Userland/Libraries/LibC/netdb.h @@ -112,6 +112,7 @@ struct addrinfo { #define NI_NUMERICHOST 1 #define NI_NUMERICSERV 2 +#define NI_NAMEREQD 3 int getaddrinfo(const char* __restrict node, const char* __restrict service, const struct addrinfo* __restrict hints, struct addrinfo** __restrict res); void freeaddrinfo(struct addrinfo* res);