From: Paul Eggert Date: Fri, 16 Nov 2007 21:16:27 +0000 (-0800) Subject: Port test-getaddrinfo to Solaris (fixed version; previous change was wrong). X-Git-Tag: v0.1~7969 X-Git-Url: http://erislabs.net/gitweb/?a=commitdiff_plain;h=d5e6f00f63c320cd9764b99f44c0638ee41a837f;p=gnulib.git Port test-getaddrinfo to Solaris (fixed version; previous change was wrong). --- diff --git a/ChangeLog b/ChangeLog index 1ea7dc91e..bdcbdeff6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,8 +5,8 @@ . * tests/test-getaddrinfo.c (simple): Add a comment asking for an explanation of setting 'hints'. - (SERV1, SERV2, SERV3): Don't use "http" and "https"; this doesn't - work in Solaris 10 and earlier. + Don't reject an implementation merely because it returns EAI_SERVICE. + (EAI_SERVICE): Define to 0 if not defined. 2007-11-15 Paul Eggert diff --git a/tests/test-getaddrinfo.c b/tests/test-getaddrinfo.c index 06245164f..7763f43f6 100644 --- a/tests/test-getaddrinfo.c +++ b/tests/test-getaddrinfo.c @@ -28,6 +28,10 @@ # define AF_UNSPEC 0 #endif +#ifndef EAI_SERVICE +# define EAI_SERVICE 0 +#endif + int simple (char *host, char *service) { char buf[BUFSIZ]; @@ -49,7 +53,14 @@ int simple (char *host, char *service) printf ("res %d: %s\n", res, gai_strerror (res)); if (res != 0) - return 1; + { + /* Solaris reports EAI_SERVICE for "http" and "https". Don't + fail the test merely because of this. */ + if (res == EAI_SERVICE) + return 0; + + return 1; + } for (ai = ai0; ai; ai = ai->ai_next) { @@ -89,15 +100,12 @@ int simple (char *host, char *service) return 0; } -/* Use numbers for http and https services, rather than names, because - Solaris 8 /etc/services does not define these service names by - default. */ #define HOST1 "www.gnu.org" -#define SERV1 "80" +#define SERV1 "http" #define HOST2 "www.ibm.com" -#define SERV2 "443" +#define SERV2 "https" #define HOST3 "microsoft.com" -#define SERV3 "80" +#define SERV3 "http" #define HOST4 "google.org" #define SERV4 "ldap"