applying fix for:
[oweals/busybox.git] / coreutils / whoami.c
index c3b1140e6c940ddd40460eb7900cb5fcf90bf11d..6a6e2eec9a995f2da6893dd9aa3ca4f3441104e1 100644 (file)
@@ -20,7 +20,7 @@
  *
  */
 
-/* getopt not needed */
+/* BB_AUDIT SUSv3 N/A -- Matches GNU behavior. */
 
 #include <stdio.h>
 #include <stdlib.h>
 
 extern int whoami_main(int argc, char **argv)
 {
-       char user[9];
-       uid_t uid = geteuid();
-
        if (argc > 1)
-               show_usage();
+               bb_show_usage();
 
-       my_getpwuid(user, uid);
-       if (*user) {
-               puts(user);
-               return EXIT_SUCCESS;
-       }
-       error_msg_and_die("cannot find username for UID %u", (unsigned) uid);
+       puts(my_getpwuid(NULL, geteuid(), -1));
+       /* exits on error */
+       bb_fflush_stdout_and_exit(EXIT_SUCCESS);
 }