X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=whoami.c;h=54df0bf12c778157b78abeb0ae03a2b059487b9d;hb=f1bbb22dca4d39aa227246f4c2ee90acd7e512a4;hp=7fd5d01b29dde2446e141de739895e69b1f062cd;hpb=3163821967821518cfa4c4315f775ec5301bb023;p=oweals%2Fbusybox.git diff --git a/whoami.c b/whoami.c index 7fd5d01b2..54df0bf12 100644 --- a/whoami.c +++ b/whoami.c @@ -1,3 +1,4 @@ +/* vi: set sw=4 ts=4: */ /* * Mini whoami implementation for busybox * @@ -19,26 +20,23 @@ * */ -#include "internal.h" +#include "busybox.h" #include -#include +#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) +{ + char user[9]; + uid_t uid = geteuid(); -extern int whoami_main(int argc, char **argv) { - struct passwd *pw; - uid_t uid; + if (argc > 1) + show_usage(); - if (argc > 1) usage (whoami_usage); - - uid = geteuid (); - pw = getpwuid (uid); - if (pw) { - puts (pw->pw_name); - exit (TRUE); - } - fprintf (stderr, "%s: cannot find username for UID %u\n", argv[0], (unsigned) uid); - exit (FALSE); + my_getpwuid(user, uid); + if (*user) { + puts(user); + return EXIT_SUCCESS; + } + error_msg_and_die("cannot find username for UID %u", (unsigned) uid); }