projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
BSD 4 release
[unix-history]
/
usr
/
src
/
cmd
/
who.c
diff --git
a/usr/src/cmd/who.c
b/usr/src/cmd/who.c
index
27e0b1d
..
41a0fd3
100644
(file)
--- a/
usr/src/cmd/who.c
+++ b/
usr/src/cmd/who.c
@@
-1,3
+1,4
@@
+static char *sccsid = "@(#)who.c 4.2 (Berkeley) 11/1/80";
/*
* who
*/
/*
* who
*/
@@
-5,6
+6,12
@@
#include <stdio.h>
#include <utmp.h>
#include <pwd.h>
#include <stdio.h>
#include <utmp.h>
#include <pwd.h>
+#include <whoami.h>
+#include <ctype.h>
+
+#define NMAX sizeof(utmp.ut_name)
+#define LMAX sizeof(utmp.ut_line)
+
struct utmp utmp;
struct passwd *pw;
struct passwd *getpwuid();
struct utmp utmp;
struct passwd *pw;
struct passwd *getpwuid();
@@
-15,7
+22,9
@@
char **argv;
{
register char *tp, *s;
register FILE *fi;
{
register char *tp, *s;
register FILE *fi;
+ extern char _sobuf[];
+ setbuf(stdout, _sobuf);
s = "/etc/utmp";
if(argc == 2)
s = argv[1];
s = "/etc/utmp";
if(argc == 2)
s = argv[1];
@@
-38,11
+47,12
@@
char **argv;
}
while (fread((char *)&utmp, sizeof(utmp), 1, fi) == 1) {
if(argc==3) {
}
while (fread((char *)&utmp, sizeof(utmp), 1, fi) == 1) {
if(argc==3) {
+ static char myname[]=sysname;
if (strcmp(utmp.ut_line, tp))
continue;
if (strcmp(utmp.ut_line, tp))
continue;
-#ifdef vax
-
printf("(Vax) "
);
-#endif
+ if (islower(*myname))
+
*myname = toupper(*myname
);
+ printf("(%s) ",myname);
putline();
exit(0);
}
putline();
exit(0);
}
@@
-56,7
+66,7
@@
putline()
{
register char *cbuf;
{
register char *cbuf;
- printf("%-
8.8s %-8.8s", utmp.ut_name
, utmp.ut_line);
+ printf("%-
*.*s %-*.*s", NMAX, NMAX, utmp.ut_name, LMAX, LMAX
, utmp.ut_line);
cbuf = ctime(&utmp.ut_time);
printf("%.12s\n", cbuf+4);
}
cbuf = ctime(&utmp.ut_time);
printf("%.12s\n", cbuf+4);
}