diff options
| -rw-r--r-- | getgroups.c | 4 | ||||
| -rw-r--r-- | uidlist.c | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/getgroups.c b/getgroups.c index 8dfe264c..8bb82f5d 100644 --- a/getgroups.c +++ b/getgroups.c @@ -39,10 +39,14 @@ main(UNUSED(int argc), UNUSED(char *argv[])) gid_t gid = MY_GID(); int gid_in_list = 0; +#ifdef HAVE_GETGROUPS if ((n = getgroups(NGROUPS_MAX, list)) < 0) { perror("getgroups"); return 1; } +#else + n = 0; +#endif for (i = 0; i < n; i++) { printf("%lu ", (unsigned long)list[i]); @@ -25,7 +25,10 @@ #include "rsync.h" -#ifdef GETGROUPS_T +#ifdef HAVE_GETGROUPS +# if !defined(GETGROUPS_T) +# define GETGROUPS_T gid_t +# endif # ifndef NGROUPS_MAX /* It ought to be defined, but just in case. */ # define NGROUPS_MAX 32 @@ -117,7 +120,7 @@ static uid_t match_uid(uid_t uid) static int is_in_group(gid_t gid) { -#ifdef GETGROUPS_T +#ifdef HAVE_GETGROUPS static gid_t last_in = GID_NONE, last_out; static int ngroups = -2; static GETGROUPS_T *gidset; |
