diff options
author | Roland McGrath <roland@gnu.org> | 1995-02-18 01:27:10 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1995-02-18 01:27:10 +0000 |
commit | 28f540f45bbacd939bfd07f213bcad2bf730b1bf (patch) | |
tree | 15f07c4c43d635959c6afee96bde71fb1b3614ee /grp/testgrp.c | |
download | glibc-28f540f45bbacd939bfd07f213bcad2bf730b1bf.zip glibc-28f540f45bbacd939bfd07f213bcad2bf730b1bf.tar.gz glibc-28f540f45bbacd939bfd07f213bcad2bf730b1bf.tar.bz2 |
initial import
Diffstat (limited to 'grp/testgrp.c')
-rw-r--r-- | grp/testgrp.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/grp/testgrp.c b/grp/testgrp.c new file mode 100644 index 0000000..109d1a4 --- /dev/null +++ b/grp/testgrp.c @@ -0,0 +1,45 @@ +#include <ansidecl.h> +#include <grp.h> +#include <pwd.h> +#include <sys/types.h> +#include <unistd.h> +#include <stdlib.h> +#include <stdio.h> + +int +DEFUN_VOID(main) +{ + uid_t me; + struct passwd *my_passwd; + struct group *my_group; + char **members; + + me = getuid (); + my_passwd = getpwuid (me); + if (my_passwd == NULL) + perror ("getpwuid"); + else + { + printf ("My login name is %s.\n", my_passwd->pw_name); + printf ("My uid is %d.\n", (int)(my_passwd->pw_uid)); + printf ("My home directory is %s.\n", my_passwd->pw_dir); + printf ("My default shell is %s.\n", my_passwd->pw_shell); + + my_group = getgrgid (my_passwd->pw_gid); + if (my_group == NULL) + perror ("getgrgid"); + else + { + printf ("My default group is %s (%d).\n", + my_group->gr_name, (int)(my_passwd->pw_gid)); + printf ("The members of this group are:\n"); + for (members = my_group->gr_mem; *members != NULL; ++members) + printf (" %s\n", *members); + } + } + + exit (my_passwd && my_group ? EXIT_SUCCESS : EXIT_FAILURE); +} + + + |