print_group (egid);
}
-#ifdef NGROUPS_MAX
+#if defined(NGROUPS_MAX) && defined(HAVE_GETGROUPS)
{
int ngroups;
GETGROUPS_T *groups;
printf ("(%s)", grp->gr_name);
}
-#ifdef NGROUPS_MAX
+#if defined(NGROUPS_MAX) && defined(HAVE_GETGROUPS)
{
int ngroups;
GETGROUPS_T *groups;
#include <grp.h>
#include "system.h"
-#ifdef HAVE_SYSLOG_H
+#if defined(HAVE_SYSLOG_H) && defined(HAVE_SYSLOG)
#include <syslog.h>
static void log_su ();
#else /* !HAVE_SYSLOG_H */
change_identity (pw)
struct passwd *pw;
{
-#ifdef NGROUPS_MAX
+#ifdef HAVE_INITGROUPS
errno = 0;
if (initgroups (pw->pw_name, pw->pw_gid) == -1)
error (1, errno, "cannot set groups");