*
*/
-#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)
{
- char *user = xmalloc(9);
- uid_t uid = geteuid();
+ char user[9];
+ uid_t uid;
if (argc > 1)
- usage(whoami_usage);
+ bb_show_usage();
- my_getpwuid(user, uid);
- if (user) {
+ uid = geteuid();
+ if (my_getpwuid(user, uid)) {
puts(user);
- exit(TRUE);
+ bb_fflush_stdout_and_exit(EXIT_SUCCESS);
}
- errorMsg("cannot find username for UID %u\n", (unsigned) uid);
- return(FALSE);
+ bb_error_msg_and_die("cannot find username for UID %u", (unsigned) uid);
}