summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorjason <>2000-06-15 03:34:31 +0000
committerjason <>2000-06-15 03:34:31 +0000
commit55776980eeebfc9d62564e73c6cdfbec9a9ea535 (patch)
tree629aeac5099a84c5ad34a6c485d7e7ace976a170 /src/lib
parent0bca8ba8b48d0ecfe2b1356fb82aacb3ef4a104d (diff)
downloadopenbsd-55776980eeebfc9d62564e73c6cdfbec9a9ea535.tar.gz
openbsd-55776980eeebfc9d62564e73c6cdfbec9a9ea535.tar.bz2
openbsd-55776980eeebfc9d62564e73c6cdfbec9a9ea535.zip
Pull in patch from current (itojun):
translate DNS error code into getaddrinfo error code (EAI_xxx). PR 1229.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libc/net/getaddrinfo.c29
1 files changed, 27 insertions, 2 deletions
diff --git a/src/lib/libc/net/getaddrinfo.c b/src/lib/libc/net/getaddrinfo.c
index 5ab29a97cc..efae915135 100644
--- a/src/lib/libc/net/getaddrinfo.c
+++ b/src/lib/libc/net/getaddrinfo.c
@@ -1,5 +1,5 @@
1/* $OpenBSD: getaddrinfo.c,v 1.22 2000/04/27 05:30:23 itojun Exp $ */ 1/* $OpenBSD: getaddrinfo.c,v 1.22.2.1 2000/06/15 03:34:31 jason Exp $ */
2/* $KAME: getaddrinfo.c,v 1.16 2000/04/27 03:37:43 itojun Exp $ */ 2/* $KAME: getaddrinfo.c,v 1.21 2000/05/05 07:40:51 itojun Exp $ */
3 3
4/* 4/*
5 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 5 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -558,6 +558,31 @@ explore_fqdn(pai, hostname, servname, res)
558 } 558 }
559 *res = result; 559 *res = result;
560 return 0; 560 return 0;
561 } else {
562 /* translate error code */
563 switch (h_errno) {
564 case NETDB_SUCCESS:
565 error = EAI_FAIL; /*XXX strange */
566 break;
567 case HOST_NOT_FOUND:
568 error = EAI_NODATA;
569 break;
570 case TRY_AGAIN:
571 error = EAI_AGAIN;
572 break;
573 case NO_RECOVERY:
574 error = EAI_FAIL;
575 break;
576 case NO_DATA:
577#if NO_ADDRESS != NO_DATA
578 case NO_ADDRESS:
579#endif
580 error = EAI_NODATA;
581 break;
582 default: /* unknown ones */
583 error = EAI_FAIL;
584 break;
585 }
561 } 586 }
562 587
563free: 588free: