diff options
Diffstat (limited to 'grp')
-rw-r--r-- | grp/initgroups.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/grp/initgroups.c b/grp/initgroups.c index 2150fa968c..f42c92db9a 100644 --- a/grp/initgroups.c +++ b/grp/initgroups.c @@ -60,7 +60,7 @@ compat_call (service_user *nip, const char *user, gid_t group, long int *start, end_function endgrent_fct; setgrent_fct = __nss_lookup_function (nip, "setgrent"); - status = (*setgrent_fct) (); + status = _CALL_DL_FCT (setgrent_fct, ()); if (status != NSS_STATUS_SUCCESS) return status; @@ -71,9 +71,10 @@ compat_call (service_user *nip, const char *user, gid_t group, long int *start, do { - while ((status = - (*getgrent_fct) (&grpbuf, tmpbuf, buflen, errnop)) == - NSS_STATUS_TRYAGAIN && *errnop == ERANGE) + while ((status = _CALL_DL_FCT (getgrent_fct, + (&grpbuf, tmpbuf, buflen, errnop)), + status == NSS_STATUS_TRYAGAIN) + && *errnop == ERANGE) { buflen *= 2; tmpbuf = __alloca (buflen); @@ -114,7 +115,7 @@ compat_call (service_user *nip, const char *user, gid_t group, long int *start, while (status == NSS_STATUS_SUCCESS); done: - (*endgrent_fct) (); + _CALL_DL_FCT (endgrent_fct, ()); return NSS_STATUS_SUCCESS; } @@ -177,8 +178,8 @@ initgroups (user, group) status = compat_call (nip, user, group, &start, &size, groups, limit, &errno); else - status = (*fct) (user, group, &start, &size, groups, limit, - &errno); + status = _CALL_DL_FCT (fct, (user, group, &start, &size, groups, limit, + &errno)); if (nip->next == NULL) no_more = -1; |