change getaddrinfo() implementation to match GLibc.
the issue is that the BSD implementation doesn't accept a call like:
getaddrinfo(SERVER_NAME, "9999", NULL, &res);
because if will reject a numerical string in the second parameter if no hints are explicitely
provided. This technically doesn't violate POSIX but might make porting Linux software a bit
difficult. For more details see:
http://groups.google.com/group/android-ndk/browse_thread/thread/818ab9c53f24c87
also comment debugging printf() calls which shouldn't be there.
diff --git a/libc/netbsd/net/getaddrinfo.c b/libc/netbsd/net/getaddrinfo.c
index 2dd3d97..f2189fb 100644
--- a/libc/netbsd/net/getaddrinfo.c
+++ b/libc/netbsd/net/getaddrinfo.c
@@ -912,7 +912,11 @@
allownumeric = 1;
break;
case ANY:
+#if 1 /* ANDROID-SPECIFIC CHANGE TO MATCH GLIBC */
+ allownumeric = 1;
+#else
allownumeric = 0;
+#endif
break;
default:
return EAI_SOCKTYPE;
@@ -1271,7 +1275,7 @@
name = va_arg(ap, char *);
pai = va_arg(ap, const struct addrinfo *);
- fprintf(stderr, "_dns_getaddrinfo() name = '%s'\n", name);
+ //fprintf(stderr, "_dns_getaddrinfo() name = '%s'\n", name);
memset(&q, 0, sizeof(q));
memset(&q2, 0, sizeof(q2));
@@ -1630,7 +1634,7 @@
trailing_dot++;
-fprintf(stderr, "res_searchN() name = '%s'\n", name);
+ //fprintf(stderr, "res_searchN() name = '%s'\n", name);
/*
* if there aren't any dots, it could be a user-level alias