summaryrefslogtreecommitdiff
path: root/lib/getugroups.c
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1999-03-09 16:07:49 +0000
committerJim Meyering <jim@meyering.net>1999-03-09 16:07:49 +0000
commit290a9e03f2860095b55d043e60e73f2ef719142f (patch)
treed016e0ad8d9b829fca138da05f711b42eebf6263 /lib/getugroups.c
parentc057543e4713d43a6092d48ab38b00540efae21a (diff)
downloadcoreutils-290a9e03f2860095b55d043e60e73f2ef719142f.tar.xz
(getugroups): Take new parameter, gid.
Add gid to the list of groups. From Ulrich Drepper.
Diffstat (limited to 'lib/getugroups.c')
-rw-r--r--lib/getugroups.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/getugroups.c b/lib/getugroups.c
index afa425b6e..01d36ff10 100644
--- a/lib/getugroups.c
+++ b/lib/getugroups.c
@@ -1,5 +1,5 @@
/* getugroups.c -- return a list of the groups a user is in
- Copyright (C) 1990, 1991, 1998 Free Software Foundation.
+ Copyright (C) 1990, 1991, 1998, 1999 Free Software Foundation.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -45,12 +45,16 @@ struct group *getgrent ();
the current process. */
int
-getugroups (int maxcount, GETGROUPS_T *grouplist, char *username)
+getugroups (int maxcount, GETGROUPS_T *grouplist, char *username, gid_t gid)
{
struct group *grp;
register char **cp;
register int count = 0;
+ if (maxcount != 0)
+ grouplist[count] = gid;
+ ++count;
+
setgrent ();
while ((grp = getgrent ()) != 0)
for (cp = grp->gr_mem; *cp; ++cp)