diff options
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 c8d6b08..0f12067 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 02a723d..4e2902d 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 c968502..f010d27 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 4129369..cb16fe1 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 */ |