From 7289f125886db5e900eed52a62e89de8f802863a Mon Sep 17 00:00:00 2001 From: Markus Duft Date: Thu, 8 Sep 2011 11:18:17 +0200 Subject: build: accommodate missing setgroups on Interix Add a dummy, non-functional, always-successful replacement setgroups function, to keep the original code untouched and simple. * src/chroot.c (setgroups) [! HAVE_SETGROUPS]: Define. --- src/chroot.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src') diff --git a/src/chroot.c b/src/chroot.c index 95c227b36..8bd39fcb2 100644 --- a/src/chroot.c +++ b/src/chroot.c @@ -52,6 +52,17 @@ static struct option const long_opts[] = {NULL, 0, NULL, 0} }; +#if ! HAVE_SETGROUPS +/* At least Interix lacks supplemental group support. Define an + always-successful replacement to avoid checking for setgroups + availability everywhere, just to support broken platforms. */ +static int +setgroups (size_t size ATTRIBUTE_UNUSED, gid_t const *list ATTRIBUTE_UNUSED) +{ + return 0; +} +#endif + /* Call setgroups to set the supplementary groups to those listed in GROUPS. GROUPS is a comma separated list of supplementary groups (names or numbers). Parse that list, converting any names to numbers, and call setgroups on the -- cgit v1.2.3-54-g00ecf