diff options
Diffstat (limited to 'src/lib/libc/net/getnetnamadr.c')
| -rw-r--r-- | src/lib/libc/net/getnetnamadr.c | 20 | 
1 files changed, 12 insertions, 8 deletions
| diff --git a/src/lib/libc/net/getnetnamadr.c b/src/lib/libc/net/getnetnamadr.c index f183fbe3fe..75a75243ef 100644 --- a/src/lib/libc/net/getnetnamadr.c +++ b/src/lib/libc/net/getnetnamadr.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: getnetnamadr.c,v 1.19 2002/11/14 02:48:00 millert Exp $ */ | 1 | /* $OpenBSD: getnetnamadr.c,v 1.20 2003/01/28 04:58:00 marc Exp $ */ | 
| 2 | 2 | ||
| 3 | /* | 3 | /* | 
| 4 | * Copyright (c) 1997, Jason Downs. All rights reserved. | 4 | * Copyright (c) 1997, Jason Downs. All rights reserved. | 
| @@ -77,7 +77,7 @@ static char sccsid[] = "@(#)getnetbyaddr.c 8.1 (Berkeley) 6/4/93"; | |||
| 77 | static char sccsid_[] = "from getnetnamadr.c 1.4 (Coimbra) 93/06/03"; | 77 | static char sccsid_[] = "from getnetnamadr.c 1.4 (Coimbra) 93/06/03"; | 
| 78 | static char rcsid[] = "$From: getnetnamadr.c,v 8.7 1996/08/05 08:31:35 vixie Exp $"; | 78 | static char rcsid[] = "$From: getnetnamadr.c,v 8.7 1996/08/05 08:31:35 vixie Exp $"; | 
| 79 | #else | 79 | #else | 
| 80 | static char rcsid[] = "$OpenBSD: getnetnamadr.c,v 1.19 2002/11/14 02:48:00 millert Exp $"; | 80 | static char rcsid[] = "$OpenBSD: getnetnamadr.c,v 1.20 2003/01/28 04:58:00 marc Exp $"; | 
| 81 | #endif | 81 | #endif | 
| 82 | #endif /* LIBC_SCCS and not lint */ | 82 | #endif /* LIBC_SCCS and not lint */ | 
| 83 | 83 | ||
| @@ -96,6 +96,8 @@ static char rcsid[] = "$OpenBSD: getnetnamadr.c,v 1.19 2002/11/14 02:48:00 mille | |||
| 96 | #include <string.h> | 96 | #include <string.h> | 
| 97 | #include <stdlib.h> | 97 | #include <stdlib.h> | 
| 98 | 98 | ||
| 99 | #include "thread_private.h" | ||
| 100 | |||
| 99 | extern int h_errno; | 101 | extern int h_errno; | 
| 100 | 102 | ||
| 101 | struct netent *_getnetbyaddr(in_addr_t net, int type); | 103 | struct netent *_getnetbyaddr(in_addr_t net, int type); | 
| @@ -262,6 +264,7 @@ getnetbyaddr(net, net_type) | |||
| 262 | register in_addr_t net; | 264 | register in_addr_t net; | 
| 263 | register int net_type; | 265 | register int net_type; | 
| 264 | { | 266 | { | 
| 267 | struct __res_state *_resp = _THREAD_PRIVATE(_res, _res, &_res); | ||
| 265 | unsigned int netbr[4]; | 268 | unsigned int netbr[4]; | 
| 266 | int nn, anslen; | 269 | int nn, anslen; | 
| 267 | querybuf *buf; | 270 | querybuf *buf; | 
| @@ -271,10 +274,10 @@ getnetbyaddr(net, net_type) | |||
| 271 | char lookups[MAXDNSLUS]; | 274 | char lookups[MAXDNSLUS]; | 
| 272 | int i; | 275 | int i; | 
| 273 | 276 | ||
| 274 | if ((_res.options & RES_INIT) == 0 && res_init() == -1) | 277 | if ((_resp->options & RES_INIT) == 0 && res_init() == -1) | 
| 275 | return(_getnetbyaddr(net, net_type)); | 278 | return(_getnetbyaddr(net, net_type)); | 
| 276 | 279 | ||
| 277 | bcopy(_res.lookups, lookups, sizeof lookups); | 280 | bcopy(_resp->lookups, lookups, sizeof lookups); | 
| 278 | if (lookups[0] == '\0') | 281 | if (lookups[0] == '\0') | 
| 279 | strlcpy(lookups, "bf", sizeof lookups); | 282 | strlcpy(lookups, "bf", sizeof lookups); | 
| 280 | 283 | ||
| @@ -320,7 +323,7 @@ getnetbyaddr(net, net_type) | |||
| 320 | if (anslen < 0) { | 323 | if (anslen < 0) { | 
| 321 | free(buf); | 324 | free(buf); | 
| 322 | #ifdef DEBUG | 325 | #ifdef DEBUG | 
| 323 | if (_res.options & RES_DEBUG) | 326 | if (_resp->options & RES_DEBUG) | 
| 324 | printf("res_query failed\n"); | 327 | printf("res_query failed\n"); | 
| 325 | #endif | 328 | #endif | 
| 326 | break; | 329 | break; | 
| @@ -352,6 +355,7 @@ struct netent * | |||
| 352 | getnetbyname(net) | 355 | getnetbyname(net) | 
| 353 | register const char *net; | 356 | register const char *net; | 
| 354 | { | 357 | { | 
| 358 | struct __res_state *_resp = _THREAD_PRIVATE(_res, _res, &_res); | ||
| 355 | int anslen; | 359 | int anslen; | 
| 356 | querybuf *buf; | 360 | querybuf *buf; | 
| 357 | char qbuf[MAXDNAME]; | 361 | char qbuf[MAXDNAME]; | 
| @@ -359,10 +363,10 @@ getnetbyname(net) | |||
| 359 | char lookups[MAXDNSLUS]; | 363 | char lookups[MAXDNSLUS]; | 
| 360 | int i; | 364 | int i; | 
| 361 | 365 | ||
| 362 | if ((_res.options & RES_INIT) == 0 && res_init() == -1) | 366 | if ((_resp->options & RES_INIT) == 0 && res_init() == -1) | 
| 363 | return (_getnetbyname(net)); | 367 | return (_getnetbyname(net)); | 
| 364 | 368 | ||
| 365 | bcopy(_res.lookups, lookups, sizeof lookups); | 369 | bcopy(_resp->lookups, lookups, sizeof lookups); | 
| 366 | if (lookups[0] == '\0') | 370 | if (lookups[0] == '\0') | 
| 367 | strlcpy(lookups, "bf", sizeof lookups); | 371 | strlcpy(lookups, "bf", sizeof lookups); | 
| 368 | 372 | ||
| @@ -383,7 +387,7 @@ getnetbyname(net) | |||
| 383 | if (anslen < 0) { | 387 | if (anslen < 0) { | 
| 384 | free(buf); | 388 | free(buf); | 
| 385 | #ifdef DEBUG | 389 | #ifdef DEBUG | 
| 386 | if (_res.options & RES_DEBUG) | 390 | if (_resp->options & RES_DEBUG) | 
| 387 | printf("res_query failed\n"); | 391 | printf("res_query failed\n"); | 
| 388 | #endif | 392 | #endif | 
| 389 | break; | 393 | break; | 
