diff options
Diffstat (limited to 'nis/nis_table.c')
-rw-r--r-- | nis/nis_table.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/nis/nis_table.c b/nis/nis_table.c index cb25be61e2..70b4701419 100644 --- a/nis/nis_table.c +++ b/nis/nis_table.c @@ -1,4 +1,5 @@ -/* Copyright (c) 1997-1999,2003,2004,2005,2006 Free Software Foundation, Inc. +/* Copyright (c) 1997-1999, 2003, 2004, 2005, 2006, 2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997. @@ -274,21 +275,14 @@ nis_list (const_nis_name name, unsigned int flags, memset (res, '\0', sizeof (nis_result)); status = __nisfind_server (ibreq->ibr_name, - ibreq->ibr_srch.ibr_srch_val != NULL, &dir); + ibreq->ibr_srch.ibr_srch_val != NULL, + &dir, &bptr, flags & ~MASTER_ONLY); if (status != NIS_SUCCESS) { NIS_RES_STATUS (res) = status; goto fail3; } - status = __nisbind_create (&bptr, dir->do_servers.do_servers_val, - dir->do_servers.do_servers_len, flags); - if (__builtin_expect (status != NIS_SUCCESS, 0)) - { - NIS_RES_STATUS (res) = status; - goto fail2; - } - while (__nisbind_connect (&bptr) != NIS_SUCCESS) if (__builtin_expect (__nisbind_next (&bptr) != NIS_SUCCESS, 0)) { @@ -338,7 +332,6 @@ nis_list (const_nis_name name, unsigned int flags, NIS_RES_STATUS (res) = NIS_NOMEMORY; fail: __nisbind_destroy (&bptr); - fail2: nis_free_directory (dir); fail3: free (tablepath); |