X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=whoami.c;h=6a5dd2c04ef9b5bfe37ce5bd252b41ee80ef1cec;hb=46f44d24fcc25a5d6e13e0453485881bdf147e91;hp=3677c2fbcb0aed8e97da8c52fcbf83508e995713;hpb=e49d5ecbbe51718fa925b6890a735e5937cc2aa2;p=oweals%2Fbusybox.git diff --git a/whoami.c b/whoami.c index 3677c2fbc..6a5dd2c04 100644 --- a/whoami.c +++ b/whoami.c @@ -20,30 +20,22 @@ * */ -#include "internal.h" +#include "busybox.h" #include #include -static const char whoami_usage[] = "whoami\n\n" - "Print the user name associated with the current effective user id.\n" - - "Same as id -un.\n"; - extern int whoami_main(int argc, char **argv) { - struct passwd *pw; - uid_t uid; + char *user = xmalloc(9); + uid_t uid = geteuid(); if (argc > 1) usage(whoami_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\n", (unsigned) uid); }