[[email protected]: w/uptime warning inappropriately under xdm/kdm [patch]...]
Sean Chittenden <[email protected]> Fri, 16 Aug 2002 11:36:44 -0700
| Newsgroups | gmane.os.freebsd.devel.audit |
|---|---|
| Message-ID | <[email protected]> |
[This is a repost from a current@ posting] When logging into a system via xdm/kdm, the wtmp/utmp entries aren't being set correctly. As a result, when you call w(1), you get a nice pair of warnings: $ w w: /dev/:0: No such file or directory w: /dev/:0: No such file or directory 11:33AM up 5 days, 17:02, 0 users, load averages: 0.08, 0.07, 0.08 USER TTY FROM LOGIN@ IDLE WHAT The attached (tiny) patch suppresses the warning and deals with it in the same way that who(1) does. -sc -- Sean Chittenden I've switched one of my desktops to using kdm and I've noticed that w(1) creates suprious warnings because it can't find the tty entry. $ w w: /dev/:0: No such file or directory w: /dev/:0: No such file or directory 2:41AM up 49 mins, 0 users, load averages: 0.05, 0.04, 0.04 USER TTY FROM LOGIN@ IDLE WHAT $ I've included a patch that quiets this. The attached patch is inline with the behavior from who(1). Are there any objections to it? What should be the correct behaviour when loggin in via xdm/kdm? Is there a better way to detect that you're logged in via xdm/kdm? Should w(1) iterate through utmp/wtmp to get user info? -sc -- Sean Chittenden
patch
(text/plain, 513 B)
Index: w.c
===================================================================
RCS file: /home/ncvs/src/usr.bin/w/w.c,v
retrieving revision 1.54
diff -u -r1.54 w.c
--- w.c 2002/06/07 01:41:54 1.54
+++ w.c 2002/08/09 09:57:17
@@ -491,11 +491,10 @@
char ttybuf[MAXPATHLEN];
(void)snprintf(ttybuf, sizeof(ttybuf), "%s%.*s", _PATH_DEV, sz, line);
- if (stat(ttybuf, &sb)) {
- warn("%s", ttybuf);
+ if (stat(ttybuf, &sb) == 0) {
+ return (&sb);
+ } else
return (NULL);
- }
- return (&sb);
}
static void