Commit Graph

68 Commits

Author SHA1 Message Date
kim 077ff6605b One third of screen looks much better than half, for default maxhost. 2005-03-13 04:08:16 +00:00
kim 61f9450361 Make -w flag apply to the WHAT field also (command and args).
Use at most half of ttywidth for WHERE field (hostname) instead
of a hardcoded maximum width.  (XXX: this is still not a good
default for displays under 80 columns.  Should probably count
the width of all the other columns, using 8 for the WHAT field.)
2005-01-08 05:08:53 +00:00
christos 25c67c975f Fix usage, and call setprogname()! 2004-12-22 17:20:30 +00:00
christos 5df4136a03 PR/28751: Ed Ravin: Limit host field output by default to 35 characters so
that things don't wrap. Add -w flag to enable full output. Delete mention
of the old and not supported flags. This was 11 years ago, and very few
people even remember what these flags did.
2004-12-22 17:16:07 +00:00
christos 6b2a6f8a02 Be a bit more careful with errors; if you cannot find the pty to stat for
time, then report ? instead of the previous random contents of struct stat.
2004-11-19 13:17:06 +00:00
christos 280dbafe67 PR/28185: Brian Marcotte: w command broken when user specified 2004-11-11 00:09:07 +00:00
christos c7ead5d42d Don't print just two characters for the tty; change the field width of the
tty to 7.
2004-11-10 16:58:10 +00:00
wiz 9b45ab8153 Remove superfluous max() macro.
Noted by Jeff Ito in PR 23932.
2004-01-03 01:18:14 +00:00
agc 89aaa1bb64 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22365, verified by myself.
2003-08-07 11:13:06 +00:00
itojun 28f506f3a2 strlcpy 2003-07-12 13:57:49 +00:00
christos 0d2dc54013 keep track of the two proc entries significant to the utmp entry. The one
indicated by the pid in struct utmpx [or ftpd hack], and the one that is
associated with the controlling tty, is in the foreground process group,
and has most cpu. If the second one exists, use that one, else use the first
one.
2003-02-26 19:10:28 +00:00
fredb 1709947012 Print the command in parenthesis, if kvm_getargv2() returns no
arguments. This lets "xterm -e command" display as "(command)".
Reviewed by christos.
2003-02-26 19:01:54 +00:00
christos 8399be1bba keep track which entries are utmp and which are utmpx, so we can print
them on the stale message.
2003-02-26 15:04:10 +00:00
christos c7d4de107a - Remove SUPPORT_FTPD_UTMP flag. Enable it only for utmp entries, utmpx does
not need it since it can get the pid from the utmpx structure.
- If the line is not found, and the pid is present (from utmpx) use that to
  determine the process information for that particular entry.
2003-02-26 15:01:09 +00:00
enami b579228888 Fix whitespace usage. 2002-10-21 10:18:23 +00:00
enami f594d61275 If utmpx support is enabled, use sockaddr field to get numeric address. 2002-10-21 10:10:26 +00:00
christos b3ac19283d Make uptime show the correct number of users. 2002-09-16 04:02:21 +00:00
mycroft 2f85ba247c uptime(1) is NOT supposed to always say `1 user'. 2002-09-16 01:49:06 +00:00
christos 52f955bcfd fixed user miscounting. reported by kim. 2002-08-22 14:52:55 +00:00
christos 156b33bc4e skip blank entries. 2002-07-28 20:47:57 +00:00
christos 1e703dc185 add utmpx support. 2002-07-27 23:58:40 +00:00
enami f7a77f5cca Fix whitespace usage. 2001-11-05 03:35:49 +00:00
cgd a8ec668ddf convert to use getprogname() 2001-02-19 23:03:42 +00:00
mjl 3d418a4a73 ANSIfy. 2001-01-05 04:59:21 +00:00
mjl 96015e4766 (From FreeBSD)
Get things right for tty names of length UT_LINESIZE. (FreeBSD PR 3638)
If the utmp login time is greater than the tty atime, use it to calculate
the idle time instead of the atime.
Fix -n with 16-chars hostnames (FreeBSD PR 11286).
Domain names are case insensitive.
2001-01-05 04:54:53 +00:00
cgd 2af1e46eab __CONCAT does token pasting, not string concatnation. if something like:
__CONCAT("foo","bar");
actually works to concantate strings, it's because the preprocessor expands
it into "foo""bar" as separate strings, and then ANSI string concatenation
is performed on that.  It's more straightforward to just use ANSI string
concatenation directly, and newer GCCs complain (rightly) about misuse
of token pasting.
2000-12-20 01:17:49 +00:00
jdolecek f8031c2d6d add code to recognize special ftpd utmp entries and match corresponding
process accordingly, so that w parses entries made by "ftpd -U" correctly

the new code is conditionalized upon define SUPPORT_FTPD_UTMP, turned
on by default in w(1)'s Makefile

This addresses bin/11095 by Daniel Hagerty.
2000-09-28 18:20:29 +00:00
christos 2120a34cd6 - Don't core dump when we have stale utmp entries; warn the user instead.
- Make this work again in single user when invoked as uptime and utmp is
  not present.
2000-08-21 00:19:06 +00:00
simonb 0afebfffdf Redo previous slightly differently - restore the behaviour of two
characters for the tty name and the first 'T' of 'TTY' hanging over
the blank column at the end of the username field.
2000-07-22 03:14:06 +00:00
enami ce5e5c761e - Set the minimum width for login name to 4, the width of "USER".
- Fix the number of colmuns left for proc. args.  Previously, an effect of
  NUL was canceled implicitly, but now we must handle it explicitly.
- Fix the width for tty name.
2000-07-15 22:45:14 +00:00
simonb 34d4c12031 Use KERN_CONSDEV for determining the console device instead of CPU_CONSDEV
which is not available on all ports.
2000-07-13 14:28:07 +00:00
simonb b00d9cf6cc Use p_login from struct proc instead of ut_name from struct utmp so
that a truncated name isn't used if the login name is over 8 characters
long.  Size USER field to suit.

Fixes PR bin/2459 from Neil McRae.
2000-06-25 13:41:12 +00:00
enami 4dc07f088a Pass the size of struct kinfo_proc2 instead of kinfo_proc to kvm_getproc2
so that w(1) displays what commands are running as before.
2000-06-08 02:37:28 +00:00
simonb ea74487218 Use new sysctl/kvm interfaces and remove sgid bit. 2000-05-26 03:10:31 +00:00
pk 9c865e3e82 No need for <machine/cpu.h> here. 1999-11-29 11:15:13 +00:00
drochner 85cbf55d16 Since our gcc doesn't warn about NULL format strings anymore, we can
fix the incorrect err(1, "%s", "") et al.
Closes PR bin/7592 by cgd.
1999-11-09 15:06:30 +00:00
mrg 45cd15f3ed recognise "dty" the same as we do "tty" 1999-10-11 11:55:27 +00:00
pk e7a15783a6 Use correct buffer in kvm_openfiles(). 1999-01-29 14:17:21 +00:00
mrg 80efe80bc9 - change setgid kmem programs (that lend themselves to this) so setegid(getgid())
and the top, and then set the effective gid back to kmem around the call to
  kvm_openfiles().  this reduces the time group kmem is available.
- for those above that also allow this, setgid(getgid()) after the call to
  kvm_openfiles() to fully revoke priviledges.
- some KNF
- use err(3) over fprintf(3) in some places
1998-07-06 07:50:18 +00:00
mrg 32f519716b - use an array MAXHOSTNAMELEN+1 size to hold hostnames
- ensure hostname from gethostname() is nul-terminated in all cases
- minor KNF
- use MAXHOSTNAMELEN over various other values/defines
- be safe will buffers that hold hostnames
1998-07-06 06:56:06 +00:00
kleink 9406f10815 Need <time.h> for strftime() and related definitions. Also, no need to
include <sys/tty.h>.
1998-04-02 11:39:40 +00:00
lukem 831bc1ae96 minor WARNS for i386 1997-10-20 03:08:44 +00:00
mrg 615373621d WARNSify; deprecate register; clean up .Nm 1997-10-20 02:49:14 +00:00
phil 133748a721 Don't print "up" if uptime is less than 30 seconds. (uptime rounds
to the nearest minute.)  Closes PR 2082.
1997-07-07 20:30:08 +00:00
mycroft 79bc5bb41f Use inet_aton(3) rather than inet_addr(3). 1997-05-19 03:44:43 +00:00
mrg 8d51c2f90d properly terminal buffer after calling strftime. 1997-04-13 13:44:13 +00:00
christos 85d90bc463 PR/3416: enami tsugutomo: fix bug introduced in previous change to handle
long hostnames.
1997-03-31 04:13:15 +00:00
christos 3c24c46e1c PR/3399: Tatoku Ogaito: Careful with not null terminated utmp strings. 1997-03-29 23:21:37 +00:00
explorer a030e0a1ae Message buffer passed to kvm_openfiles() should _POSIX2_LINE_MAX long; PR#3266 1997-03-03 22:12:19 +00:00
tls 60a059d296 Sync to 4.4BSD-Lite2 1997-01-09 11:55:19 +00:00