diff options
author | Rob Landley <rob@landley.net> | 2012-07-18 20:21:50 -0500 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2012-07-18 20:21:50 -0500 |
commit | b67a8ceaf110fe0bdad6c8da78568662cc50e5bb (patch) | |
tree | 23e26df7a25da5cb594b40e60d1c2c174e5d9fa1 /toys/w.c | |
parent | a727b516ef77251f3736ed8368d9bb381664aaa5 (diff) | |
download | toybox-b67a8ceaf110fe0bdad6c8da78568662cc50e5bb.tar.gz |
Add w command by Gaurang Shastri.
Diffstat (limited to 'toys/w.c')
-rw-r--r-- | toys/w.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/toys/w.c b/toys/w.c new file mode 100644 index 00000000..7e5a2964 --- /dev/null +++ b/toys/w.c @@ -0,0 +1,47 @@ +/* vi: set sw=4 ts=4: + * + * w.c - shows logged in users + * + * Copyright 2012 Gaurang Shastri <gmshastri@gmail.com> + * + * Not in SUSv4. + +USE_W(NEWTOY(w, NULL, TOYFLAG_USR|TOYFLAG_BIN)) + +config W + bool "w" + default y + help + usage: w + + Show who is logged on and since how long they logged in. + +*/ + +#include "toys.h" + +void w_main(void) +{ + struct utmpx *x; + time_t time_val; + xprintf("USER TTY LOGIN@ FROM"); + setutxent(); + x=getutxent(); + while(x!=NULL) { + if(x->ut_type==7) { + xprintf("\n"); + xprintf("%-9.8s",x->ut_user); + xprintf("%-9.8s",x->ut_line); + + xprintf(" "); + time_val = (x->ut_tv.tv_sec); + xprintf("%-4.24s",ctime(&time_val)); + + xprintf(" ("); + xprintf("%-1.12s",x->ut_host); + xprintf(")"); + } + x=getutxent(); + } + xprintf("\n"); +} |