summaryrefslogtreecommitdiffstats
path: root/lib/libc/net/herror.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1995-08-20 20:03:06 +0000
committerpeter <peter@FreeBSD.org>1995-08-20 20:03:06 +0000
commitbbe6ab41603ea223c7c921bd48586ed795917870 (patch)
tree32821775fcd4108257c3d49593dadeb5a5f18b17 /lib/libc/net/herror.c
parent2dd1919d1c22bd3dc75ab1064352572d401b1ab9 (diff)
downloadFreeBSD-src-bbe6ab41603ea223c7c921bd48586ed795917870.zip
FreeBSD-src-bbe6ab41603ea223c7c921bd48586ed795917870.tar.gz
Update the resolver part of libc to bind-4.9.3-beta24 level (from beta9p1)
Note that this was done by selective patching from diffs, to not conflict with the 4.4bsd base code.. This was *not* a trivial task.. I have been testing this code (apart from cosmetic changes) in my libc for a while now. Obtained from: Paul Vixie <paul@vix.com>
Diffstat (limited to 'lib/libc/net/herror.c')
-rw-r--r--lib/libc/net/herror.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/libc/net/herror.c b/lib/libc/net/herror.c
index c9135c3..9b94ee4 100644
--- a/lib/libc/net/herror.c
+++ b/lib/libc/net/herror.c
@@ -53,7 +53,7 @@
#if defined(LIBC_SCCS) && !defined(lint)
static char sccsid[] = "@(#)herror.c 8.1 (Berkeley) 6/4/93";
-static char rcsid[] = "$Id: herror.c,v 1.1.1.1 1994/05/27 04:57:15 rgrimes Exp $";
+static char rcsid[] = "$Id: herror.c,v 1.2 1995/05/30 05:40:49 rgrimes Exp $";
#endif /* LIBC_SCCS and not lint */
#include <sys/types.h>
@@ -62,8 +62,8 @@ static char rcsid[] = "$Id: herror.c,v 1.1.1.1 1994/05/27 04:57:15 rgrimes Exp $
#include <unistd.h>
#include <string.h>
-char *h_errlist[] = {
- "Error 0",
+const char *h_errlist[] = {
+ "Resolver Error 0 (no error)",
"Unknown host", /* 1 HOST_NOT_FOUND */
"Host name lookup failure", /* 2 TRY_AGAIN */
"Unknown server error", /* 3 NO_RECOVERY */
@@ -92,8 +92,7 @@ herror(s)
v->iov_len = 2;
v++;
}
- v->iov_base = (u_int)h_errno < h_nerr ?
- h_errlist[h_errno] : "Unknown error";
+ v->iov_base = (char *)hstrerror(h_errno);
v->iov_len = strlen(v->iov_base);
v++;
v->iov_base = "\n";
@@ -101,9 +100,13 @@ herror(s)
writev(STDERR_FILENO, iov, (v - iov) + 1);
}
-char *
+const char *
hstrerror(err)
int err;
{
- return (u_int)err < h_nerr ? h_errlist[err] : "Unknown resolver error";
+ if (err < 0)
+ return ("Resolver internal error");
+ else if (err < h_nerr)
+ return (h_errlist[err]);
+ return ("Unknown resolver error");
}
OpenPOWER on IntegriCloud