summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko2007-11-16 05:24:43 +0000
committerDenis Vlasenko2007-11-16 05:24:43 +0000
commit01cd9570c7e51e0e1e472f965d9f774c761a8521 (patch)
tree9dec9b7a6251de5ccfe325773e40fdccb6f365de
parenta6899c35870d93f44630c4307eb938a1ba4d4abb (diff)
downloadbusybox-01cd9570c7e51e0e1e472f965d9f774c761a8521.zip
busybox-01cd9570c7e51e0e1e472f965d9f774c761a8521.tar.gz
who: add -a (by Tito)
-rw-r--r--coreutils/who.c8
-rw-r--r--include/usage.h6
2 files changed, 8 insertions, 6 deletions
diff --git a/coreutils/who.c b/coreutils/who.c
index 7259744..f336c95 100644
--- a/coreutils/who.c
+++ b/coreutils/who.c
@@ -46,15 +46,15 @@ int who_main(int argc, char **argv)
struct utmp *ut;
struct stat st;
char *name;
+ unsigned opt;
- if (argc > 1) {
- bb_show_usage();
- }
+ opt_complementary = "=0";
+ opt = getopt32(argv, "a");
setutent();
printf("USER TTY IDLE TIME HOST\n");
while ((ut = getutent()) != NULL) {
- if (ut->ut_user[0] && ut->ut_type == USER_PROCESS) {
+ if (ut->ut_user[0] && (opt || ut->ut_type == USER_PROCESS)) {
/* ut->ut_line is device name of tty - "/dev/" */
name = concat_path_file("/dev", ut->ut_line);
str6[0] = '?';
diff --git a/include/usage.h b/include/usage.h
index 953645b..592316a 100644
--- a/include/usage.h
+++ b/include/usage.h
@@ -4112,9 +4112,11 @@ USE_FEATURE_RUN_PARTS_FANCY("\n -l Prints names of all matching files even when
"/bin/login\n"
#define who_trivial_usage \
- " "
+ "[-a]"
#define who_full_usage \
- "Print the current user names and related information"
+ "Show who is logged on" \
+ "\n\nOptions:\n" \
+ " -a show all"
#define whoami_trivial_usage \
""