Add whoami(1)
including manpage and other stuff. This program is a no-brainer. This was inspired by an initial commit by e@bestmx.net. Thanks!
This commit is contained in:
37
whoami.c
Normal file
37
whoami.c
Normal file
@@ -0,0 +1,37 @@
|
||||
/* 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>");
|
||||
}
|
Reference in New Issue
Block a user