diff options
Diffstat (limited to 'src/lib/libc')
| -rw-r--r-- | src/lib/libc/net/getaddrinfo.c | 29 |
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..9cc9314327 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.23 2000/05/15 10:49:55 itojun 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 | ||
| 563 | free: | 588 | free: |
