mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-29 12:07:46 +00:00
who: switch to using new coreopts syntax
This commit is contained in:
parent
617e8ca682
commit
6ecf9ecf66
1 changed files with 26 additions and 29 deletions
|
@ -12,7 +12,6 @@
|
|||
#[macro_use]
|
||||
extern crate uucore;
|
||||
use uucore::utmpx::{self, time, Utmpx};
|
||||
use uucore::coreopts;
|
||||
use uucore::libc::{STDIN_FILENO, time_t, ttyname, S_IWGRP};
|
||||
|
||||
use std::borrow::Cow;
|
||||
|
@ -21,11 +20,35 @@ use std::ffi::CStr;
|
|||
use std::path::PathBuf;
|
||||
use std::os::unix::fs::MetadataExt;
|
||||
|
||||
static NAME: &'static str = "who";
|
||||
static SYNTAX: &'static str = "[OPTION]... [ FILE | ARG1 ARG2 ]";
|
||||
static SUMMARY: &'static str = "Print information about users who are currently logged in.";
|
||||
static LONG_HELP: &'static str = "
|
||||
-a, --all same as -b -d --login -p -r -t -T -u
|
||||
-b, --boot time of last system boot
|
||||
-d, --dead print dead processes
|
||||
-H, --heading print line of column headings
|
||||
-l, --login print system login processes
|
||||
--lookup attempt to canonicalize hostnames via DNS
|
||||
-m only hostname and user associated with stdin
|
||||
-p, --process print active processes spawned by init
|
||||
-q, --count all login names and number of users logged on
|
||||
-r, --runlevel print current runlevel
|
||||
-s, --short print only name, line, and time (default)
|
||||
-t, --time print last system clock change
|
||||
-T, -w, --mesg add user's message status as +, - or ?
|
||||
-u, --users list users logged in
|
||||
--message same as -T
|
||||
--writable same as -T
|
||||
--help display this help and exit
|
||||
--version output version information and exit
|
||||
|
||||
If FILE is not specified, use /var/run/utmp. /var/log/wtmp as FILE is common.
|
||||
If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.
|
||||
";
|
||||
|
||||
pub fn uumain(args: Vec<String>) -> i32 {
|
||||
|
||||
let mut opts = coreopts::CoreOptions::new(NAME);
|
||||
let mut opts = new_coreopts!(SYNTAX, SUMMARY, LONG_HELP);
|
||||
opts.optflag("a", "all", "same as -b -d --login -p -r -t -T -u");
|
||||
opts.optflag("b", "boot", "time of last system boot");
|
||||
opts.optflag("d", "dead", "print dead processes");
|
||||
|
@ -49,32 +72,6 @@ pub fn uumain(args: Vec<String>) -> i32 {
|
|||
opts.optflag("", "help", "display this help and exit");
|
||||
opts.optflag("", "version", "output version information and exit");
|
||||
|
||||
opts.help(format!("Usage: {} [OPTION]... [ FILE | ARG1 ARG2 ]
|
||||
Print information about users who are currently logged in.
|
||||
|
||||
-a, --all same as -b -d --login -p -r -t -T -u
|
||||
-b, --boot time of last system boot
|
||||
-d, --dead print dead processes
|
||||
-H, --heading print line of column headings
|
||||
-l, --login print system login processes
|
||||
--lookup attempt to canonicalize hostnames via DNS
|
||||
-m only hostname and user associated with stdin
|
||||
-p, --process print active processes spawned by init
|
||||
-q, --count all login names and number of users logged on
|
||||
-r, --runlevel print current runlevel
|
||||
-s, --short print only name, line, and time (default)
|
||||
-t, --time print last system clock change
|
||||
-T, -w, --mesg add user's message status as +, - or ?
|
||||
-u, --users list users logged in
|
||||
--message same as -T
|
||||
--writable same as -T
|
||||
--help display this help and exit
|
||||
--version output version information and exit
|
||||
|
||||
If FILE is not specified, use /var/run/utmp. /var/log/wtmp as FILE is common.
|
||||
If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.",
|
||||
NAME));
|
||||
|
||||
let matches = opts.parse(args);
|
||||
|
||||
// If true, attempt to canonicalize hostnames via a DNS lookup.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue