From 01cd9570c7e51e0e1e472f965d9f774c761a8521 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Fri, 16 Nov 2007 05:24:43 +0000 Subject: who: add -a (by Tito) --- coreutils/who.c | 8 ++++---- 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 \ "" -- cgit v1.2.3