network: Extend the fallback gai_strerror implementation to handle more error codes
This is useful if a proper getaddrinfo is loaded dynamically on windows, while using the fallback implementation of gai_strerror. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
b4675d0fbf
commit
2ca6e9bb47
@ -110,17 +110,33 @@ struct addrinfo {
|
||||
#endif
|
||||
|
||||
/* getaddrinfo constants */
|
||||
#ifndef EAI_AGAIN
|
||||
#define EAI_AGAIN 2
|
||||
#endif
|
||||
#ifndef EAI_BADFLAGS
|
||||
#define EAI_BADFLAGS 3
|
||||
#endif
|
||||
#ifndef EAI_FAIL
|
||||
#define EAI_FAIL 4
|
||||
#endif
|
||||
|
||||
#ifndef EAI_FAMILY
|
||||
#define EAI_FAMILY 5
|
||||
#endif
|
||||
|
||||
#ifndef EAI_MEMORY
|
||||
#define EAI_MEMORY 6
|
||||
#endif
|
||||
#ifndef EAI_NODATA
|
||||
#define EAI_NODATA 7
|
||||
#endif
|
||||
#ifndef EAI_NONAME
|
||||
#define EAI_NONAME 8
|
||||
#endif
|
||||
#ifndef EAI_SERVICE
|
||||
#define EAI_SERVICE 9
|
||||
#endif
|
||||
#ifndef EAI_SOCKTYPE
|
||||
#define EAI_SOCKTYPE 10
|
||||
#endif
|
||||
|
||||
#ifndef AI_PASSIVE
|
||||
#define AI_PASSIVE 1
|
||||
|
@ -243,9 +243,17 @@ int ff_getnameinfo(const struct sockaddr *sa, int salen,
|
||||
const char *ff_gai_strerror(int ecode)
|
||||
{
|
||||
switch(ecode) {
|
||||
case EAI_AGAIN : return "Temporary failure in name resolution";
|
||||
case EAI_BADFLAGS: return "Invalid flags for ai_flags";
|
||||
case EAI_FAIL : return "A non-recoverable error occurred";
|
||||
case EAI_FAMILY : return "The address family was not recognized or the address length was invalid for the specified family";
|
||||
case EAI_MEMORY : return "Memory allocation failure";
|
||||
#if EAI_NODATA != EAI_NONAME
|
||||
case EAI_NODATA : return "No address associated with hostname";
|
||||
#endif
|
||||
case EAI_NONAME : return "The name does not resolve for the supplied parameters";
|
||||
case EAI_SERVICE: return "servname not supported for ai_socktype";
|
||||
case EAI_SOCKTYPE: return "ai_socktype not supported";
|
||||
}
|
||||
|
||||
return "Unknown error";
|
||||
|
Loading…
Reference in New Issue
Block a user