about summary refs log tree commit diff
path: root/grp/initgroups.c
diff options
context:
space:
mode:
Diffstat (limited to 'grp/initgroups.c')
-rw-r--r--grp/initgroups.c15
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;