Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Jan 2010 16:30:54 +0000 (UTC)
From:      Ed Schouten <ed@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r202013 - user/ed/utmpx/usr.bin/w
Message-ID:  <201001101630.o0AGUs1R078979@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ed
Date: Sun Jan 10 16:30:54 2010
New Revision: 202013
URL: http://svn.freebsd.org/changeset/base/202013

Log:
  Make w(1) behave a little bit better when no TTY is associated.
  
  This allows it to more properly display entries generated by ftpd.

Modified:
  user/ed/utmpx/usr.bin/w/w.c

Modified: user/ed/utmpx/usr.bin/w/w.c
==============================================================================
--- user/ed/utmpx/usr.bin/w/w.c	Sun Jan 10 16:08:14 2010	(r202012)
+++ user/ed/utmpx/usr.bin/w/w.c	Sun Jan 10 16:30:54 2010	(r202013)
@@ -282,7 +282,8 @@ main(int argc, char *argv[])
 	if ((kp = kvm_getprocs(kd, KERN_PROC_ALL, 0, &nentries)) == NULL)
 		err(1, "%s", kvm_geterr(kd));
 	for (i = 0; i < nentries; i++, kp++) {
-		if (kp->ki_stat == SIDL || kp->ki_stat == SZOMB)
+		if (kp->ki_stat == SIDL || kp->ki_stat == SZOMB ||
+		    kp->ki_tdev == NODEV)
 			continue;
 		for (ep = ehead; ep != NULL; ep = ep->next) {
 			if (ep->tdev == kp->ki_tdev) {
@@ -417,9 +418,10 @@ main(int argc, char *argv[])
 		(void)printf("%-*.*s %-*.*s %-*.*s ",
 		    W_DISPUSERSIZE, W_DISPUSERSIZE, ep->utmp.ut_user,
 		    W_DISPLINESIZE, W_DISPLINESIZE,
-		    strncmp(ep->utmp.ut_line, "tty", 3) &&
+		    *ep->utmp.ut_line ?
+		    (strncmp(ep->utmp.ut_line, "tty", 3) &&
 		    strncmp(ep->utmp.ut_line, "cua", 3) ?
-		    ep->utmp.ut_line : ep->utmp.ut_line + 3,
+		    ep->utmp.ut_line : ep->utmp.ut_line + 3) : "-",
 		    W_DISPHOSTSIZE, W_DISPHOSTSIZE, *p ? p : "-");
 		t = ep->utmp.ut_tv.tv_sec;
 		longattime = pr_attime(&t, &now);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001101630.o0AGUs1R078979>