if (user)
{
int ngroups; /* Number of groups */
+# ifdef __APPLE__
+ int groups[2048]; /* Groups that user belongs to */
+# else
gid_t groups[2048]; /* Groups that user belongs to */
+# endif /* __APPLE__ */
ngroups = (int)(sizeof(groups) / sizeof(groups[0]));
+# ifdef __APPLE__
+ getgrouplist(username, (int)user->pw_gid, groups, &ngroups);
+# else
getgrouplist(username, user->pw_gid, groups, &ngroups);
+#endif /* __APPLE__ */
for (i = 0; i < ngroups; i ++)
if (group->gr_gid == groups[i])