Add a local implementation of hstrerror for the system which do not have it
The function converts the value of h_errno (last error of name resolver library, see netdb.h). One of systems which supposedly do not have the function is SunOS. POSIX does not mandate its presence. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
18a936805e
commit
fa0c87c344
21
compat/hstrerror.c
Normal file
21
compat/hstrerror.c
Normal file
@ -0,0 +1,21 @@
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <netdb.h>
|
||||
|
||||
const char *githstrerror(int err)
|
||||
{
|
||||
static char buffer[48];
|
||||
switch (err)
|
||||
{
|
||||
case HOST_NOT_FOUND:
|
||||
return "Authoritative answer: host not found";
|
||||
case NO_DATA:
|
||||
return "Valid name, no data record of requested type";
|
||||
case NO_RECOVERY:
|
||||
return "Non recoverable errors, FORMERR, REFUSED, NOTIMP";
|
||||
case TRY_AGAIN:
|
||||
return "Non-authoritative \"host not found\", or SERVERFAIL";
|
||||
}
|
||||
sprintf(buffer, "Name resolution error %d", err);
|
||||
return buffer;
|
||||
}
|
Reference in New Issue
Block a user