Formerly ../grp/testgrp.c.~2~
[kopensolaris-gnu/glibc.git] / grp / testgrp.c
1 #include <ansidecl.h>
2 #include <grp.h>
3 #include <pwd.h>
4 #include <sys/types.h>
5 #include <unistd.h>
6 #include <stdlib.h>
7 #include <stdio.h>
8
9 int
10 DEFUN_VOID(main)
11 {
12   uid_t me;
13   struct passwd *my_passwd;
14   struct group *my_group;
15   char **members;
16
17   me = getuid ();
18   my_passwd = getpwuid (me);
19
20   printf ("My login name is %s.\n", my_passwd->pw_name);
21   printf ("My uid is %d.\n", (int)(my_passwd->pw_uid));
22   printf ("My home directory is %s.\n", my_passwd->pw_dir);
23   printf ("My default shell is %s.\n", my_passwd->pw_shell);
24
25   my_group = getgrgid (my_passwd->pw_gid);
26   if (!my_group) {
27     printf ("Couldn't find out about group %d.\n", (int)(my_passwd->pw_gid));
28     exit (EXIT_FAILURE);
29     }
30
31   printf ("My default group is %s (%d).\n",
32           my_group->gr_name, (int)(my_passwd->pw_gid));
33   printf ("The members of this group are:\n");
34   for (members = my_group->gr_mem; *members != NULL; ++members)
35     printf ("  %s\n", *members);
36   exit (EXIT_SUCCESS);
37 }
38
39
40