diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-11-16 05:24:43 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-11-16 05:24:43 +0000 |
commit | 01cd9570c7e51e0e1e472f965d9f774c761a8521 (patch) | |
tree | 9dec9b7a6251de5ccfe325773e40fdccb6f365de | |
parent | a6899c35870d93f44630c4307eb938a1ba4d4abb (diff) | |
download | busybox-01cd9570c7e51e0e1e472f965d9f774c761a8521.tar.gz |
who: add -a (by Tito)
-rw-r--r-- | coreutils/who.c | 8 | ||||
-rw-r--r-- | include/usage.h | 6 |
2 files changed, 8 insertions, 6 deletions
diff --git a/coreutils/who.c b/coreutils/who.c index 725974425..f336c953c 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 953645ba0..592316ace 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 \ "" |