projects
/
oweals
/
busybox.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Support for tar -z option for uncompressing only
[oweals/busybox.git]
/
whoami.c
diff --git
a/whoami.c
b/whoami.c
index 3677c2fbcb0aed8e97da8c52fcbf83508e995713..6a5dd2c04ef9b5bfe37ce5bd252b41ee80ef1cec 100644
(file)
--- a/
whoami.c
+++ b/
whoami.c
@@
-20,30
+20,22
@@
*
*/
*
*/
-#include "
internal
.h"
+#include "
busybox
.h"
#include <stdio.h>
#include <pwd.h>
#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)
{
extern int whoami_main(int argc, char **argv)
{
-
struct passwd *pw
;
- uid_t uid;
+
char *user = xmalloc(9)
;
+ uid_t uid
= geteuid()
;
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);
+ my_getpwuid(user, uid);
+ if (user) {
+ puts(user);
+ return EXIT_SUCCESS;
}
}
- fprintf(stderr, "%s: cannot find username for UID %u\n", argv[0],
- (unsigned) uid);
- exit(FALSE);
+ error_msg_and_die("cannot find username for UID %u\n", (unsigned) uid);
}
}