| /* See LICENSE file for copyright and license details. */ |
| #include <errno.h> |
| #include <stdio.h> |
| #include <unistd.h> |
| #include <pwd.h> |
| |
| #include "util.h" |
| |
| static void |
| usage(void) |
| { |
| eprintf("usage: %s\n", argv0); |
| } |
| |
| int |
| main(int argc, char *argv[]) |
| { |
| uid_t uid; |
| struct passwd *pw; |
| |
| argv0 = argv[0], argc--, argv++; |
| |
| if (argc) |
| usage(); |
| |
| uid = geteuid(); |
| errno = 0; |
| if (!(pw = getpwuid(uid))) { |
| if (errno) |
| eprintf("getpwuid %d:", uid); |
| else |
| eprintf("getpwuid %d: no such user\n", uid); |
| } |
| puts(pw->pw_name); |
| |
| return fshut(stdout, "<stdout>"); |
| } |