diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libc/net/getaddrinfo.3 | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/libc/net/getaddrinfo.3 b/src/lib/libc/net/getaddrinfo.3 index 7c3bfe40d7..b7494be811 100644 --- a/src/lib/libc/net/getaddrinfo.3 +++ b/src/lib/libc/net/getaddrinfo.3 | |||
@@ -1,4 +1,4 @@ | |||
1 | .\" $OpenBSD: getaddrinfo.3,v 1.41 2005/07/05 22:21:16 dlg Exp $ | 1 | .\" $OpenBSD: getaddrinfo.3,v 1.42 2005/11/13 13:22:57 otto Exp $ |
2 | .\" $KAME: getaddrinfo.3,v 1.36 2005/01/05 03:23:05 itojun Exp $ | 2 | .\" $KAME: getaddrinfo.3,v 1.36 2005/01/05 03:23:05 itojun Exp $ |
3 | .\" | 3 | .\" |
4 | .\" Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC") | 4 | .\" Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC") |
@@ -304,6 +304,7 @@ returns addresses that are not IPv4/v6. | |||
304 | .Bd -literal -offset indent | 304 | .Bd -literal -offset indent |
305 | struct addrinfo hints, *res, *res0; | 305 | struct addrinfo hints, *res, *res0; |
306 | int error; | 306 | int error; |
307 | int save_errno = errno; | ||
307 | int s; | 308 | int s; |
308 | const char *cause = NULL; | 309 | const char *cause = NULL; |
309 | 310 | ||
@@ -327,6 +328,7 @@ for (res = res0; res; res = res->ai_next) { | |||
327 | if (connect(s, res->ai_addr, res->ai_addrlen) < 0) { | 328 | if (connect(s, res->ai_addr, res->ai_addrlen) < 0) { |
328 | cause = "connect"; | 329 | cause = "connect"; |
329 | close(s); | 330 | close(s); |
331 | errno = save_errno; | ||
330 | s = -1; | 332 | s = -1; |
331 | continue; | 333 | continue; |
332 | } | 334 | } |