who: add -a (by Tito)

This commit is contained in:
Denis Vlasenko 2007-11-16 05:24:43 +00:00
parent a6899c3587
commit 01cd9570c7
2 changed files with 8 additions and 6 deletions

View File

@ -46,15 +46,15 @@ int who_main(int argc, char **argv)
struct utmp *ut; struct utmp *ut;
struct stat st; struct stat st;
char *name; char *name;
unsigned opt;
if (argc > 1) { opt_complementary = "=0";
bb_show_usage(); opt = getopt32(argv, "a");
}
setutent(); setutent();
printf("USER TTY IDLE TIME HOST\n"); printf("USER TTY IDLE TIME HOST\n");
while ((ut = getutent()) != NULL) { 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/" */ /* ut->ut_line is device name of tty - "/dev/" */
name = concat_path_file("/dev", ut->ut_line); name = concat_path_file("/dev", ut->ut_line);
str6[0] = '?'; str6[0] = '?';

View File

@ -4112,9 +4112,11 @@ USE_FEATURE_RUN_PARTS_FANCY("\n -l Prints names of all matching files even when
"/bin/login\n" "/bin/login\n"
#define who_trivial_usage \ #define who_trivial_usage \
" " "[-a]"
#define who_full_usage \ #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 \ #define whoami_trivial_usage \
"" ""