[hackers] [sbase] Add whoami(1) || FRIGN

From: <git_AT_suckless.org>
Date: Mon, 14 Dec 2015 11:14:14 +0100 (CET)

commit 09c279285ac44ada82c792d88fb246fd98a14e03
Author: FRIGN <dev_AT_frign.de>
AuthorDate: Mon Dec 14 10:55:25 2015 +0100
Commit: sin <sin_AT_2f30.org>
CommitDate: Mon Dec 14 10:14:07 2015 +0000

    Add whoami(1)
    
    including manpage and other stuff. This program is a no-brainer.
    This was inspired by an initial commit by e_AT_bestmx.net. Thanks!

diff --git a/Makefile b/Makefile
index c2d8266..0c73d68 100644
--- a/Makefile
+++ b/Makefile
_AT_@ -157,6 +157,7 @@ BIN =\
         uuencode\
         wc\
         which\
+ whoami\
         xargs\
         yes
 
diff --git a/README b/README
index 86287b7..aff0644 100644
--- a/README
+++ b/README
_AT_@ -95,6 +95,7 @@ The following tools are implemented:
 =*|o uuencode .
 #*|o wc .
 =*|x which .
+=*|x whoami .
 =*|o xargs (-p)
 =*|x yes .
 
diff --git a/whoami.1 b/whoami.1
new file mode 100644
index 0000000..535c927
--- /dev/null
+++ b/whoami.1
_AT_@ -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.
diff --git a/whoami.c b/whoami.c
new file mode 100644
index 0000000..4d88aea
--- /dev/null
+++ b/whoami.c
_AT_@ -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>");
+}
Received on Mon Dec 14 2015 - 11:14:14 CET

This archive was generated by hypermail 2.3.0 : Mon Dec 14 2015 - 11:24:15 CET