build: accommodate missing setgroups on Interix
authorMarkus Duft <mduft@gentoo.org>
Thu, 8 Sep 2011 09:18:17 +0000 (11:18 +0200)
committerJim Meyering <meyering@redhat.com>
Sat, 1 Oct 2011 17:17:21 +0000 (19:17 +0200)
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

index 95c227b..8bd39fc 100644 (file)
@@ -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