- add a colorful "valid HTML 4.01 Transitional" button to be able to check the refere...
[oweals/busybox.git] / coreutils / whoami.c
index 01dff81f919b8b41be7be720f1177e5ba303adcf..71ef3537d036442619c3178b7349eb2a3cea9f12 100644 (file)
  *
  */
 
-#include "internal.h"
-#include <stdio.h>
-#include <pwd.h>
+/* BB_AUDIT SUSv3 N/A -- Matches GNU behavior. */
 
-static const char whoami_usage[] = "whoami\n"
-#ifndef BB_FEATURE_TRIVIAL_HELP
-       "\nPrints the user name associated with the current effective user id.\n"
-#endif
-       ;
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include "busybox.h"
 
-extern int whoami_main(int argc, char **argv)
+int whoami_main(int argc, char **argv)
 {
-       char *user = xmalloc(9);
-       uid_t uid = geteuid();
-
        if (argc > 1)
-               usage(whoami_usage);
+               bb_show_usage();
 
-       my_getpwuid(user, uid);
-       if (user) {
-               puts(user);
-               exit(TRUE);
-       }
-       errorMsg("cannot find username for UID %u\n", (unsigned) uid);
-       return(FALSE);
+       puts(bb_getpwuid(NULL, geteuid(), -1));
+       /* exits on error */
+       bb_fflush_stdout_and_exit(EXIT_SUCCESS);
 }