X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=whoami.c;h=84b27fe58ec472f0b63f9f766fe77bf6b38e6243;hb=9c5fcc3408626c46bc5187554e950b981143bb38;hp=7fd5d01b29dde2446e141de739895e69b1f062cd;hpb=3163821967821518cfa4c4315f775ec5301bb023;p=oweals%2Fbusybox.git diff --git a/whoami.c b/whoami.c index 7fd5d01b2..84b27fe58 100644 --- a/whoami.c +++ b/whoami.c @@ -1,3 +1,4 @@ +/* vi: set sw=4 ts=4: */ /* * Mini whoami implementation for busybox * @@ -23,22 +24,19 @@ #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 = xmalloc(9); + uid_t uid = geteuid(); -extern int whoami_main(int argc, char **argv) { - struct passwd *pw; - uid_t uid; + if (argc > 1) + usage(whoami_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); + exit(TRUE); + } + errorMsg("cannot find username for UID %u\n", (unsigned) uid); + return(FALSE); }