* Copyright (c) 1980 Regents of the University of California.
* Redistribution and use in source and binary forms are permitted
* provided that the above copyright notice and this paragraph are
* duplicated in all such forms and that any documentation,
* advertising materials, and other materials related to such
* distribution and use acknowledge that the software was developed
* by the University of California, Berkeley. The name of the
* University may not be used to endorse or promote products derived
* from this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
"@(#) Copyright (c) 1980 Regents of the University of California.\n\
static char sccsid
[] = "@(#)groups.c 5.3 (Berkeley) %G%";
ngroups
= getgroups(NGROUPS
, groups
);
for (i
= 0; i
< ngroups
; i
++) {
gr
= getgrgid(groups
[i
]);
printf("%s%d", sep
, groups
[i
]);
printf("%s%s", sep
, gr
->gr_name
);
register struct group
*gr
;
register struct passwd
*pw
;
if ((pw
= getpwnam(user
)) == NULL
) {
fprintf(stderr
, "groups: no such user.\n");
while (gr
= getgrent()) {
if (pw
->pw_gid
== gr
->gr_gid
) {
printf("%s%s", sep
, gr
->gr_name
);
for (cp
= gr
->gr_mem
; cp
&& *cp
; cp
++)
if (strcmp(*cp
, user
) == 0) {
printf("%s%s", sep
, gr
->gr_name
);