X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=coreutils%2Fwhoami.c;h=0bbb54b7b2abaf594d844e0ac7ff3043cf4fa339;hb=eba8ed71f08f334bc94ac8eeedcd998fcdd05897;hp=5c3fea13f673923311261599d725906772600b5a;hpb=e5b6c7dd9cb32852a7f5b19a9855cf3c32543396;p=oweals%2Fbusybox.git diff --git a/coreutils/whoami.c b/coreutils/whoami.c index 5c3fea13f..0bbb54b7b 100644 --- a/coreutils/whoami.c +++ b/coreutils/whoami.c @@ -20,28 +20,23 @@ * */ -#include "internal.h" #include -#include - -static const char whoami_usage[] = "whoami\n\n" - "Prints the user name associated with the current effective user id.\n"; +#include +#include +#include "busybox.h" extern int whoami_main(int argc, char **argv) { - struct passwd *pw; - uid_t uid; + char user[9]; + uid_t uid = geteuid(); if (argc > 1) - usage(whoami_usage); + show_usage(); - uid = geteuid(); - pw = getpwuid(uid); - if (pw) { - puts(pw->pw_name); - exit(TRUE); + my_getpwuid(user, uid); + if (*user) { + puts(user); + return EXIT_SUCCESS; } - fprintf(stderr, "%s: cannot find username for UID %u\n", argv[0], - (unsigned) uid); - exit(FALSE); + error_msg_and_die("cannot find username for UID %u", (unsigned) uid); }