*
* Copyright (C) 2000 Edward Betts <edward@debian.org>.
*
- * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+ * Licensed under GPLv2 or later, see file LICENSE in this source tree.
*/
/* BB_AUDIT SUSv3 N/A -- Matches GNU behavior. */
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include "busybox.h"
+#include "libbb.h"
-int whoami_main(int argc, char **argv);
-int whoami_main(int argc, char **argv)
+/* This is a NOFORK applet. Be very careful! */
+
+int whoami_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int whoami_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
{
- if (argc > 1)
+ if (argv[1])
bb_show_usage();
- puts(bb_getpwuid(NULL, geteuid(), -1));
- /* exits on error */
- fflush_stdout_and_exit(EXIT_SUCCESS);
+ /* Will complain and die if username not found */
+ puts(xuid2uname(geteuid()));
+
+ return fflush_all();
}