diff options
-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 \ "" |