Merge "getnameinfo: Don't add flag NI_NUMERICHOST for well-known prefix address"
diff --git a/libc/dns/net/getnameinfo.c b/libc/dns/net/getnameinfo.c
index 5fa4e37..31d07c5 100644
--- a/libc/dns/net/getnameinfo.c
+++ b/libc/dns/net/getnameinfo.c
@@ -68,6 +68,13 @@
 #include <stddef.h>
 #include <string.h>
 
+/* This macro is modelled after the ones in <netinet/in6.h>. */
+/* RFC 6052, section 2.1 */
+#define IN6_IS_ADDR_WKP(a) \
+  ((((a)->s6_addr32[0]) == ntohl(0x0064ff9b)) && \
+   (((a)->s6_addr32[1]) == 0) && \
+   (((a)->s6_addr32[2]) == 0))
+
 static const struct afd {
 	int		a_af;
 	socklen_t	a_addrlen;
@@ -248,6 +255,8 @@
 				;
 			else if (IN6_IS_ADDR_LOOPBACK(&sin6->sin6_addr))
 				;
+			else if (IN6_IS_ADDR_WKP(&sin6->sin6_addr))
+				;
 			else
 				flags |= NI_NUMERICHOST;
 			break;