[rtems commit] libcsupport: Add dummy for setgroups().
Sebastian Huber
sebh at rtems.org
Tue Jun 28 13:18:55 UTC 2016
Module: rtems
Branch: master
Commit: 187a0744042960f4306d691ebfef3c3e3cdd3470
Changeset: http://git.rtems.org/rtems/commit/?id=187a0744042960f4306d691ebfef3c3e3cdd3470
Author: Christian Mauderer <Christian.Mauderer at embedded-brains.de>
Date: Mon May 2 14:49:35 2016 +0200
libcsupport: Add dummy for setgroups().
The dummy for setgroups() allows applications using it to build (for example
civetweb webserver).
---
cpukit/libcsupport/Makefile.am | 2 +-
cpukit/libcsupport/src/setgroups.c | 26 ++++++++++++++++++++
testsuites/psxtests/psxhdrs/Makefile.am | 1 +
testsuites/psxtests/psxhdrs/unistd/setgroups.c | 33 ++++++++++++++++++++++++++
4 files changed, 61 insertions(+), 1 deletion(-)
diff --git a/cpukit/libcsupport/Makefile.am b/cpukit/libcsupport/Makefile.am
index 99dc2e1..4fea4aa 100644
--- a/cpukit/libcsupport/Makefile.am
+++ b/cpukit/libcsupport/Makefile.am
@@ -73,7 +73,7 @@ DIRECTORY_SCAN_C_FILES += src/getcwd.c
ID_C_FILES = src/getegid.c src/geteuid.c src/getgid.c src/getgroups.c \
src/getlogin.c src/getpgrp.c src/getpid.c src/getppid.c src/getuid.c \
src/seteuid.c src/setgid.c src/setuid.c src/setegid.c src/setpgid.c \
- src/setsid.c
+ src/setsid.c src/setgroups.c
MALLOC_C_FILES = src/malloc_initialize.c src/malloc.c \
src/realloc.c src/_calloc_r.c src/_malloc_r.c \
diff --git a/cpukit/libcsupport/src/setgroups.c b/cpukit/libcsupport/src/setgroups.c
new file mode 100644
index 0000000..9f75f20
--- /dev/null
+++ b/cpukit/libcsupport/src/setgroups.c
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2016 embedded brains GmbH. All rights reserved.
+ *
+ * embedded brains GmbH
+ * Dornierstr. 4
+ * 82178 Puchheim
+ * Germany
+ * <rtems at embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+
+#include <unistd.h>
+
+int setgroups(int size, const gid_t *list)
+{
+ /* FIXME: Implement this function properly. Currently it only returns a
+ * success. */
+
+ (void) size;
+ (void) list;
+
+ return 0;
+}
diff --git a/testsuites/psxtests/psxhdrs/Makefile.am b/testsuites/psxtests/psxhdrs/Makefile.am
index 3eecd84..c3b1f88 100644
--- a/testsuites/psxtests/psxhdrs/Makefile.am
+++ b/testsuites/psxtests/psxhdrs/Makefile.am
@@ -128,6 +128,7 @@ lib_a_SOURCES += unistd/getppid.c
lib_a_SOURCES += unistd/getuid.c
lib_a_SOURCES += unistd/pause.c
lib_a_SOURCES += unistd/setgid.c
+lib_a_SOURCES += unistd/setgroups.c
lib_a_SOURCES += unistd/setpgid.c
lib_a_SOURCES += unistd/setsid.c
lib_a_SOURCES += unistd/setuid.c
diff --git a/testsuites/psxtests/psxhdrs/unistd/setgroups.c b/testsuites/psxtests/psxhdrs/unistd/setgroups.c
new file mode 100644
index 0000000..e8b87ab
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/unistd/setgroups.c
@@ -0,0 +1,33 @@
+/*
+ * This test file is used to verify that the header files associated with
+ * invoking this function are correct.
+ *
+ * COPYRIGHT (c) 1989-2009.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <sys/types.h>
+#include <unistd.h>
+
+int test( void );
+
+int test( void )
+{
+ gid_t grouplist[ 20 ];
+ int gidsetsize;
+ int result;
+
+ gidsetsize = sizeof(grouplist)/sizeof(grouplist[0]);
+
+ result = setgroups( gidsetsize, grouplist );
+
+ return result;
+}
More information about the vc
mailing list