(root)/
gawk-5.2.2/
awklib/
eg/
lib/
grcat.c
       1  /*
       2   * grcat.c
       3   *
       4   * Generate a printable version of the group database.
       5   */
       6  /*
       7   * Arnold Robbins, arnold@skeeve.com, May 1993
       8   * Public Domain
       9   * December 2010, move to ANSI C definition for main().
      10   */
      11  
      12  #if HAVE_CONFIG_H
      13  #include <config.h>
      14  #endif
      15  
      16  #if defined (STDC_HEADERS)
      17  #include <stdlib.h>
      18  #endif
      19  
      20  #ifndef HAVE_GETGRENT
      21  int main() { return 0; }
      22  #else
      23  #include <stdio.h>
      24  #include <grp.h>
      25  
      26  int
      27  main(int argc, char **argv)
      28  {
      29      struct group *g;
      30      int i;
      31  
      32      while ((g = getgrent()) != NULL) {
      33  #ifdef HAVE_STRUCT_GROUP_GR_PASSWD
      34          printf("%s:%s:%ld:", g->gr_name, g->gr_passwd,
      35                                       (long) g->gr_gid);
      36  #else
      37          printf("%s:*:%ld:", g->gr_name, (long) g->gr_gid);
      38  #endif
      39          for (i = 0; g->gr_mem[i] != NULL; i++) {
      40              printf("%s", g->gr_mem[i]);
      41              if (g->gr_mem[i+1] != NULL)
      42                  putchar(',');
      43          }
      44          putchar('\n');
      45      }
      46      endgrent();
      47      return 0;
      48  }
      49  #endif /* HAVE_GETGRENT */