summaryrefslogtreecommitdiff
path: root/test/pwd_grp/grcat.c
blob: a896140258f31f252b54acaac1ef2b86219349f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*
 * grcat.c
 *
 * Generate a printable version of the group database
 */
/*
 * Arnold Robbins, arnold@gnu.org, May 1993
 * Public Domain
 */

#include <stdlib.h>
#include <stdio.h>
#include <grp.h>

int main(int argc, char **argv)
{
    struct group *g;
    int i;

    while ((g = getgrent()) != NULL) {
	printf("%s:%s:%ld:", g->gr_name, g->gr_passwd,
		(long) g->gr_gid);
	for (i = 0; g->gr_mem[i] != NULL; i++) {
	    printf("%s", g->gr_mem[i]);
	    if (g->gr_mem[i+1] != NULL)
		putchar(',');
	}
	putchar('\n');
    }
    endgrent();
    return 0;
}