Subject: Re: CVS commit: basesrc
To: None <tech-userlevel@netbsd.org>
From: None <itojun@iijlab.net>
List: source-changes
Date: 07/05/2000 03:39:11
>Does this work as expected?
for me yes.
>The hack for inetd was necessary because getaddrinfo doesn't return
>EAI_ADDRFAMILY (or, an appropriate error code for the situation) when
>``kernel doesn't support the address family'' was expected, wasn't it?
>
>And that's why I asked why getaddrinfo doesn't return such error code.
your problem actually has two sides:
1. when the specified service name ("ftp") was not available,
EAI_SERVICE will be returned. gai_strerror(EAI_SERVICE) is,
as defined in RFC, "servname not supported for ai_socktype".
this is far less friendly than "unknown service".
2. when host == NULL and ai_family is not supported by the kernel,
EAI_FAMILY will be returned. gai_strerror(EAI_FAMILY) is
"ai_family not supported". this is not that bad, but not friendly
enough IMHO.
so i tried to address both of them. I think 1. is the one you've asked.
>IMHO, single printf with gai_strerror should be enough, shouldn't it?
in general yes, but sometimes the string returned by gai_strerror()
is cryptic to normal users.
itojun