diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-06-19 13:01:35 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-06-19 13:01:35 +0000 |
commit | 899d423eaf3f66e59ffffefe40b2ba2137bd0050 (patch) | |
tree | 47028b40d388f051f651e752877c8b73cf826929 /nss | |
parent | 977bfd77e6cd739c82491fa9fe4b54b269ea349d (diff) | |
download | glibc-899d423eaf3f66e59ffffefe40b2ba2137bd0050.tar.gz |
Update.
1998-06-10 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/Makefile: Add nis-initgroups and compat-initgroups.
* nis/libnss_compat.map: Add _nss_compat_initgroups.
* nis/libnss_nis.map: Add _nss_nis_initgroups.
* nis/nss_compat/compat-initgroups.c: New, faster then getgrent().
* nis/nss_nis/nis-initgroups.c: Likewise.
* libc-work/nss/nsswitch.c: Rename nss_lookup_function to
__nss_lookup_function and make it public.
* grp/initgroups.c: Rewrite, to use initgroups function from NSS
module if exists, else use old method.
1998-06-19 Ulrich Drepper <drepper@cygnus.com>
* nss/getXXbyYY_r.c (lookup_function): Correct return in type
definition.
* nss/getXXent_r.c (set_function, end_function, get_function):
Likewise. Reported by Thorsten Kukuk.
* sysdeps/unix/sysv/linux/sigstack.c: Mark sigstack as dangerous.
1998-06-19 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sparc/Dist: Follow change from
1998-06-16 and distribute kernel_termios.h.
* nis/Makefile (distribute): Add nis_xdr.h.
1998-06-19 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sigstack.c (sigstack): Disable for
kernels that don't have sigaltstack.
Diffstat (limited to 'nss')
-rw-r--r-- | nss/getXXbyYY_r.c | 4 | ||||
-rw-r--r-- | nss/getXXent_r.c | 8 | ||||
-rw-r--r-- | nss/nsswitch.c | 13 | ||||
-rw-r--r-- | nss/nsswitch.h | 3 |
4 files changed, 14 insertions, 14 deletions
diff --git a/nss/getXXbyYY_r.c b/nss/getXXbyYY_r.c index c8d6b08009..0f1206762b 100644 --- a/nss/getXXbyYY_r.c +++ b/nss/getXXbyYY_r.c @@ -82,8 +82,8 @@ /* Type of the lookup function we need here. */ -typedef int (*lookup_function) (ADD_PARAMS, LOOKUP_TYPE *, char *, size_t, - int * H_ERRNO_PARM); +typedef enum nss_status (*lookup_function) (ADD_PARAMS, LOOKUP_TYPE *, char *, + size_t, int * H_ERRNO_PARM); /* Some usages of this file might use this variable. */ extern struct __res_state _res; diff --git a/nss/getXXent_r.c b/nss/getXXent_r.c index 02a723d6bc..4e2902d2ca 100644 --- a/nss/getXXent_r.c +++ b/nss/getXXent_r.c @@ -85,14 +85,14 @@ #endif /* Prototype for the setXXXent functions we use here. */ -typedef int (*set_function) (STAYOPEN); +typedef enum nss_status (*set_function) (STAYOPEN); /* Prototype for the endXXXent functions we use here. */ -typedef int (*end_function) (void); +typedef enum nss_status (*end_function) (void); /* Prototype for the setXXXent functions we use here. */ -typedef int (*get_function) (LOOKUP_TYPE *, char *, size_t, int * - H_ERRNO_PARM); +typedef enum nss_status (*get_function) (LOOKUP_TYPE *, char *, size_t, int * + H_ERRNO_PARM); /* This handle for the NSS data base is shared between all diff --git a/nss/nsswitch.c b/nss/nsswitch.c index c968502cdf..f010d2755c 100644 --- a/nss/nsswitch.c +++ b/nss/nsswitch.c @@ -35,8 +35,6 @@ #include "nsswitch.h" /* Prototypes for the local functions. */ -static void *nss_lookup_function (service_user *ni, const char *fct_name) - internal_function; static name_database *nss_parse_file (const char *fname) internal_function; static name_database_entry *nss_getline (char *line) internal_function; static service_user *nss_parse_service_list (const char *line) @@ -140,7 +138,7 @@ __nss_database_lookup (const char *database, const char *alternate_name, int __nss_lookup (service_user **ni, const char *fct_name, void **fctp) { - *fctp = nss_lookup_function (*ni, fct_name); + *fctp = __nss_lookup_function (*ni, fct_name); while (*fctp == NULL && nss_next_action (*ni, NSS_STATUS_UNAVAIL) == NSS_ACTION_CONTINUE @@ -148,7 +146,7 @@ __nss_lookup (service_user **ni, const char *fct_name, void **fctp) { *ni = (*ni)->next; - *fctp = nss_lookup_function (*ni, fct_name); + *fctp = __nss_lookup_function (*ni, fct_name); } return *fctp != NULL ? 0 : (*ni)->next == NULL ? 1 : -1; @@ -187,7 +185,7 @@ __nss_next (service_user **ni, const char *fct_name, void **fctp, int status, { *ni = (*ni)->next; - *fctp = nss_lookup_function (*ni, fct_name); + *fctp = __nss_lookup_function (*ni, fct_name); } while (*fctp == NULL && nss_next_action (*ni, NSS_STATUS_UNAVAIL) == NSS_ACTION_CONTINUE @@ -310,9 +308,8 @@ known_compare (const void *p1, const void *p2) } -static void * -internal_function -nss_lookup_function (service_user *ni, const char *fct_name) +void * +__nss_lookup_function (service_user *ni, const char *fct_name) { void **found, *result; diff --git a/nss/nsswitch.h b/nss/nsswitch.h index 412936976a..cb16fe1542 100644 --- a/nss/nsswitch.h +++ b/nss/nsswitch.h @@ -127,5 +127,8 @@ int __nss_lookup (service_user **ni, const char *fct_name, void **fctp); int __nss_next (service_user **ni, const char *fct_name, void **fctp, int status, int all_values); +/* Search for the service described in NI for a function named FCT_NAME + and return a pointer to this function if successful. */ +void *__nss_lookup_function (service_user *ni, const char *fct_name); #endif /* nsswitch.h */ |