X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=coreutils%2Fwhoami.c;h=f93034d3a3b860c8b8863cfa17303ee9a490e937;hb=637d2266e1ea711f27ab0aec200a196b5eccbbca;hp=3677c2fbcb0aed8e97da8c52fcbf83508e995713;hpb=e49d5ecbbe51718fa925b6890a735e5937cc2aa2;p=oweals%2Fbusybox.git diff --git a/coreutils/whoami.c b/coreutils/whoami.c index 3677c2fbc..f93034d3a 100644 --- a/coreutils/whoami.c +++ b/coreutils/whoami.c @@ -20,30 +20,25 @@ * */ -#include "internal.h" -#include -#include - -static const char whoami_usage[] = "whoami\n\n" - "Print the user name associated with the current effective user id.\n" +/* BB_AUDIT SUSv3 N/A -- Matches GNU behavior. */ - "Same as id -un.\n"; +#include +#include +#include +#include "busybox.h" extern int whoami_main(int argc, char **argv) { - struct passwd *pw; + char user[9]; uid_t uid; if (argc > 1) - usage(whoami_usage); + bb_show_usage(); uid = geteuid(); - pw = getpwuid(uid); - if (pw) { - puts(pw->pw_name); - exit(TRUE); + if (my_getpwuid(user, uid)) { + puts(user); + bb_fflush_stdout_and_exit(EXIT_SUCCESS); } - fprintf(stderr, "%s: cannot find username for UID %u\n", argv[0], - (unsigned) uid); - exit(FALSE); + bb_error_msg_and_die("cannot find username for UID %u", (unsigned) uid); }