Add w command by Gaurang Shastri.
authorRob Landley <rob@landley.net>
Thu, 19 Jul 2012 01:21:50 +0000 (20:21 -0500)
committerRob Landley <rob@landley.net>
Thu, 19 Jul 2012 01:21:50 +0000 (20:21 -0500)
toys/w.c [new file with mode: 0644]

diff --git a/toys/w.c b/toys/w.c
new file mode 100644 (file)
index 0000000..7e5a296
--- /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");
+}