New message added to messages.c: full_version
[oweals/busybox.git] / whoami.c
index 7fd5d01b29dde2446e141de739895e69b1f062cd..84b27fe58ec472f0b63f9f766fe77bf6b38e6243 100644 (file)
--- a/whoami.c
+++ b/whoami.c
@@ -1,3 +1,4 @@
+/* vi: set sw=4 ts=4: */
 /*
  * Mini whoami implementation for busybox
  *
 #include <stdio.h>
 #include <pwd.h>
 
-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);
 }