/usr/share/doc/gawk/examples/lib/grcat.c is in gawk 1:4.1.3+dfsg-0.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | /*
* grcat.c
*
* Generate a printable version of the group database.
*/
/*
* Arnold Robbins, arnold@skeeve.com, May 1993
* Public Domain
* December 2010, move to ANSI C definition for main().
*/
/* For OS/2, do nothing. */
#if HAVE_CONFIG_H
#include <config.h>
#endif
#if defined (STDC_HEADERS)
#include <stdlib.h>
#endif
#ifndef HAVE_GETGRENT
int main() { return 0; }
#else
#include <stdio.h>
#include <grp.h>
int
main(int argc, char **argv)
{
struct group *g;
int i;
while ((g = getgrent()) != NULL) {
#ifdef ZOS_USS
printf("%s:%ld:", g->gr_name, (long) g->gr_gid);
#else
printf("%s:%s:%ld:", g->gr_name, g->gr_passwd,
(long) g->gr_gid);
#endif
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;
}
#endif /* HAVE_GETGRENT */
|