diff options
author | Isaac Dunham <ibid.ag@gmail.com> | 2014-05-25 11:46:58 -0500 |
---|---|---|
committer | Isaac Dunham <ibid.ag@gmail.com> | 2014-05-25 11:46:58 -0500 |
commit | 80a438dd35782db8d3e0bca81ca78dea128f9c37 (patch) | |
tree | 7f3e32e05a02d0103292b976f5b6dc2f00174d10 | |
parent | 67ba22986d84b8d793d9bb39d6d7545204924124 (diff) | |
download | toybox-80a438dd35782db8d3e0bca81ca78dea128f9c37.tar.gz |
logname and whoami are the same as id -un, so merge them.
Since the starting letters are greater than those for 'id' or 'groups',
we cn just check if the first letter is greater than 'i'.
-rw-r--r-- | toys/other/whoami.c | 29 | ||||
-rw-r--r-- | toys/posix/id.c | 12 | ||||
-rw-r--r-- | toys/posix/logname.c | 25 |
3 files changed, 12 insertions, 54 deletions
diff --git a/toys/other/whoami.c b/toys/other/whoami.c deleted file mode 100644 index a7ed047a..00000000 --- a/toys/other/whoami.c +++ /dev/null @@ -1,29 +0,0 @@ -/* whoami.c - Print effective user name - * - * Copyright 2012 Georgi Chorbadzhiyski <georgi@unixsol.org> - -USE_WHOAMI(NEWTOY(whoami, NULL, TOYFLAG_USR|TOYFLAG_BIN)) - -config WHOAMI - bool "whoami" - default y - help - usage: whoami - - Print effective user name. -*/ - -#include "toys.h" - -void whoami_main(void) -{ - struct passwd *pw = getpwuid(geteuid()); - - if (!pw) { - perror("getpwuid"); - toys.exitval = 1; - return; - } - - xputs(pw->pw_name); -} diff --git a/toys/posix/id.c b/toys/posix/id.c index 8b68d4de..a03a0975 100644 --- a/toys/posix/id.c +++ b/toys/posix/id.c @@ -8,6 +8,8 @@ USE_ID(NEWTOY(id, ">1nGgru[!Ggu]", TOYFLAG_BIN)) USE_ID_GROUPS(OLDTOY(groups, id, NULL, TOYFLAG_USR|TOYFLAG_BIN)) +USE_ID_LOGNAME(OLDTOY(logname, id, ">0", TOYFLAG_BIN)) +USE_ID_LOGNAME(OLDTOY(whoami, id, ">0", TOYFLAG_BIN)) config ID bool "id" @@ -32,6 +34,15 @@ config ID_GROUPS Print the groups a user is in. +config ID_LOGNAME + bool "logname" + default y + depends on ID + help + usage: logname + + Print the current user name. + */ #define FOR_id @@ -116,6 +127,7 @@ void do_id(char *username) void id_main(void) { + if (toys.which->name[0] > 'i') toys.optflags = (FLAG_u | FLAG_n); if (toys.optc) while(*toys.optargs) do_id(*toys.optargs++); else do_id(NULL); } diff --git a/toys/posix/logname.c b/toys/posix/logname.c deleted file mode 100644 index b638ea2f..00000000 --- a/toys/posix/logname.c +++ /dev/null @@ -1,25 +0,0 @@ -/* logname.c - Print user's login name. - * - * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com> - * - * See http://opengroup.org/onlinepubs/9699919799/utilities/logname.html - -USE_LOGNAME(NEWTOY(logname, ">0", TOYFLAG_BIN)) - -config LOGNAME - bool "logname" - default y - help - usage: logname - - Prints the calling user's name or an error when this cannot be - determined. -*/ - -#include "toys.h" - -void logname_main(void) -{ - if (getlogin_r(toybuf, sizeof(toybuf))) error_exit("no login name"); - xputs(toybuf); -} |