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:
FRIGN 2015-12-14 10:55:25 +01:00 committed by sin
parent bb7427f6c1
commit 09c279285a
4 changed files with 48 additions and 0 deletions

View File

@ -157,6 +157,7 @@ BIN =\
uuencode\
wc\
which\
whoami\
xargs\
yes

1
README
View File

@ -95,6 +95,7 @@ The following tools are implemented:
=*|o uuencode .
#*|o wc .
=*|x which .
=*|x whoami .
=*|o xargs (-p)
=*|x yes .

9
whoami.1 Normal file
View File

@ -0,0 +1,9 @@
.Dd 2015-12-14
.Dt WHOAMI 1
.Os sbase
.Sh NAME
.Nm whoami
.Nd show effective uid
.Sh SYNOPSIS
.Nm
writes the name of the effective uid to stdout.

37
whoami.c Normal file
View 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>");
}