diff options
Diffstat (limited to 'testsuite/nsswitch/initgroups.c')
-rw-r--r-- | testsuite/nsswitch/initgroups.c | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/testsuite/nsswitch/initgroups.c b/testsuite/nsswitch/initgroups.c deleted file mode 100644 index b7d9c50eaa3..00000000000 --- a/testsuite/nsswitch/initgroups.c +++ /dev/null @@ -1,42 +0,0 @@ -#include <stdio.h> -#include <unistd.h> -#include <grp.h> -#include <pwd.h> -#include <sys/types.h> - -int main(int argc, char **argv) -{ - int result, ngroups, i; - gid_t *groups; - struct passwd *pw; - - if (!(pw = getpwnam(argv[1]))) { - printf("FAIL: no passwd entry for %s\n", argv[1]); - return 1; - } - - result = initgroups(argv[1], pw->pw_gid); - - if (result == -1) { - printf("FAIL"); - return 1; - } - - ngroups = getgroups(0, NULL); - - groups = (gid_t *)malloc(sizeof(gid_t) * ngroups); - ngroups = getgroups(ngroups, groups); - - printf("%s is a member of groups:\n", argv[1]); - - for (i = 0; i < ngroups; i++) { - struct group *grp; - - grp = getgrgid(groups[i]); - - printf("%d (%s)\n", groups[i], grp ? grp->gr_name : "?"); - } - - printf("PASS\n"); - return 0; -} |