diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-01-19 19:22:02 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-01-19 19:22:02 +0000 |
commit | b677d6742888747613ebb4dbe4bbb4dbe6e07087 (patch) | |
tree | 97ebb6523b2a78ebccff54651bf2fe7736943ec5 /nis/nss_nis/nis-rpc.c | |
parent | 978bd14399d7b027513676bb1ad9c8b8def71174 (diff) | |
download | glibc-b677d6742888747613ebb4dbe4bbb4dbe6e07087.tar glibc-b677d6742888747613ebb4dbe4bbb4dbe6e07087.tar.gz glibc-b677d6742888747613ebb4dbe4bbb4dbe6e07087.tar.bz2 glibc-b677d6742888747613ebb4dbe4bbb4dbe6e07087.zip |
Update.
2003-01-19 Ulrich Drepper <drepper@redhat.com>
* nis/nss_nis/nis-spwd.c: Make _nss_nis_endspent an alias of
_nss_nis_setspent. Work around the different prototypes.
* nis/nss_nis/nis-rpc.c (internal_nis_setrpcent): Use
internal_nis_endrpcent.
(internal_nis_endrpcent): Change return type to void. Change callers.
* nis/nss_nis/nis-pwd.c: Make _nss_nis_endpwent an alias of
_nss_nis_setpwent. Work around the different prototypes.
* nis/nss_nis/nis-proto.c (_nss_nis_endprotoent): Split out body
of the function to...
(internal_nis_endprotoent): ... here. New function.
(internal_nis_setprotoent): Use internal_nis_endprotoent.
* nis/nss_nis/nis-network.c: Make _nss_nis_endnetent an alias of
_nss_nis_setnetent. Work around the different prototypes.
* nis/nss_nis/nis-netgrp.c (_nss_nis_endnetgrent): Split out body
of the function to...
(internal_nis_endnetgrent): ... here. New function.
(_nss_nis_setnetgrent): Use internal_nis_endnetgrent.
Diffstat (limited to 'nis/nss_nis/nis-rpc.c')
-rw-r--r-- | nis/nss_nis/nis-rpc.c | 47 |
1 files changed, 17 insertions, 30 deletions
diff --git a/nis/nss_nis/nis-rpc.c b/nis/nss_nis/nis-rpc.c index 1f9e5b4600..6e707b9d58 100644 --- a/nis/nss_nis/nis-rpc.c +++ b/nis/nss_nis/nis-rpc.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998, 2000, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1996-1998, 2000, 2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@suse.de>, 1996. @@ -86,6 +86,19 @@ saveit (int instatus, char *inkey, int inkeylen, char *inval, return 0; } +static void +internal_nis_endrpcent (intern_t *intern) +{ + while (intern->start != NULL) + { + if (intern->start->val != NULL) + free (intern->start->val); + intern->next = intern->start; + intern->start = intern->start->next; + free (intern->next); + } +} + static enum nss_status internal_nis_setrpcent (intern_t *intern) { @@ -96,15 +109,7 @@ internal_nis_setrpcent (intern_t *intern) if (yp_get_default_domain (&domainname)) return NSS_STATUS_UNAVAIL; - while (intern->start != NULL) - { - if (intern->start->val != NULL) - free (intern->start->val); - intern->next = intern->start; - intern->start = intern->start->next; - free (intern->next); - } - intern->start = NULL; + internal_nis_endrpcent (intern); ypcb.foreach = saveit; ypcb.data = (char *)intern; @@ -128,34 +133,16 @@ _nss_nis_setrpcent (int stayopen) return status; } -static enum nss_status -internal_nis_endrpcent (intern_t *intern) -{ - while (intern->start != NULL) - { - if (intern->start->val != NULL) - free (intern->start->val); - intern->next = intern->start; - intern->start = intern->start->next; - free (intern->next); - } - intern->start = NULL; - - return NSS_STATUS_SUCCESS; -} - enum nss_status _nss_nis_endrpcent (void) { - enum nss_status status; - __libc_lock_lock (lock); - status = internal_nis_endrpcent (&intern); + internal_nis_endrpcent (&intern); __libc_lock_unlock (lock); - return status; + return NSS_STATUS_SUCCESS; } static enum nss_status |