diff options
author | Eric Andersen | 2004-08-26 22:36:02 +0000 |
---|---|---|
committer | Eric Andersen | 2004-08-26 22:36:02 +0000 |
commit | 095dd0c46df224c9b4c59327116534452731d457 (patch) | |
tree | 5ae3cd745cea2f6358bf09c440383a1af66ee892 /coreutils/whoami.c | |
parent | 713d6e3dd3473e72fe72d42f3f7b8c07b5ed2616 (diff) | |
download | busybox-095dd0c46df224c9b4c59327116534452731d457.zip busybox-095dd0c46df224c9b4c59327116534452731d457.tar.gz |
Tito writes:
Hi,
I've fixed also the issue of whoami cutting down usernames.
This time I cannot send a diff because i don't know if my previous patches will be applied
or not, so I send in the whole file.
The changes I've made don't affect size but ensure that usernames of whatever lenght
are correctly displayed.
root@localhost:/dev/pts/3:/root/Desktop/busybox/coreutils# size whoami_orig.o
text data bss dec hex filename
102 0 0 102 66 whoami_orig.o
root@localhost:/dev/pts/3:/root/Desktop/busybox/coreutils# size whoami.o
text data bss dec hex filename
93 0 0 93 5d whoami.o
This should be applied even if the other patches aren't as this matches the behaviour of the GNU whoami.
Thanks in advance,
Ciao,
Tito
Diffstat (limited to 'coreutils/whoami.c')
-rw-r--r-- | coreutils/whoami.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/coreutils/whoami.c b/coreutils/whoami.c index e2a03b1..c979b0d 100644 --- a/coreutils/whoami.c +++ b/coreutils/whoami.c @@ -26,18 +26,20 @@ #include <stdlib.h> #include <unistd.h> #include "busybox.h" +#include "pwd_.h" +#include "grp_.h" extern int whoami_main(int argc, char **argv) { - char user[9]; + struct passwd *p; uid_t uid; - + if (argc > 1) bb_show_usage(); uid = geteuid(); - if (my_getpwuid(user, uid, sizeof(user))) { - puts(user); + if((p = getpwuid(uid))!=NULL) { + puts(p->pw_name); bb_fflush_stdout_and_exit(EXIT_SUCCESS); } bb_error_msg_and_die("cannot find username for UID %u", (unsigned) uid); |