Hello! The getaddrinfo(3) function appears to have bogus behavior on ‘i386-apple-darwin9.2.2’ (Darwin 9.6 apparently doesn’t have the problem). Here’s the test program:
--8<---------------cut here---------------start------------->8--- #include <netdb.h> #include <stdio.h> #include <stdlib.h> #include <string.h> int main (int argc, char *argv[]) { int err; struct addrinfo *res, hints; memset (&hints, 0, sizeof (hints)); err = getaddrinfo (NULL, "does-not-exist", &hints, &res); printf ("err = %i `%s'\n", err, gai_strerror (err)); return err != 0 ? EXIT_SUCCESS : EXIT_FAILURE; } --8<---------------cut here---------------end--------------->8--- Here, I’d expect either ‘EAI_NONAME’ or ‘EAI_SERVICE’ (glibc 2.11 returns the latter on GNU/Linux). On ‘i386-apple-darwin9.2.2’ it succeeds: err = 0 `Unknown error' My guess is that it’s a bug. What do you think? If it is indeed a bug, should we try to work around it in Gnulib? Any idea how this could be done? Thanks, Ludo’.