summaryrefslogtreecommitdiff
path: root/coreutils/whoami.c
diff options
context:
space:
mode:
authorEric Andersen2004-08-26 22:36:02 +0000
committerEric Andersen2004-08-26 22:36:02 +0000
commit095dd0c46df224c9b4c59327116534452731d457 (patch)
tree5ae3cd745cea2f6358bf09c440383a1af66ee892 /coreutils/whoami.c
parent713d6e3dd3473e72fe72d42f3f7b8c07b5ed2616 (diff)
downloadbusybox-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.c10
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);