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
local version
[unix-history]
/
usr
/
src
/
usr.bin
/
last
/
last.c
diff --git
a/usr/src/usr.bin/last/last.c
b/usr/src/usr.bin/last/last.c
index
8a74d03
..
d3430c5
100644
(file)
--- a/
usr/src/usr.bin/last/last.c
+++ b/
usr/src/usr.bin/last/last.c
@@
-1,4
+1,4
@@
-static char *sccsid = "@(#)last.c 4.
1
(Berkeley) %G%";
+static char *sccsid = "@(#)last.c 4.
3
(Berkeley) %G%";
/*
* last
*/
/*
* last
*/
@@
-37,6
+37,8
@@
main(ac, av)
long otime;
struct stat stb;
int print;
long otime;
struct stat stb;
int print;
+ char * crmsg = (char *)0;
+ long crtime;
time(&buf[0].ut_time);
ac--, av++;
time(&buf[0].ut_time);
ac--, av++;
@@
-77,7
+79,7
@@
main(ac, av)
if (ttnames[i][0] == 0) {
strncpy(ttnames[i], bp->ut_line,
sizeof(bp->ut_line));
if (ttnames[i][0] == 0) {
strncpy(ttnames[i], bp->ut_line,
sizeof(bp->ut_line));
- otime =
0
;
+ otime =
logouts[i]
;
logouts[i] = bp->ut_time;
break;
}
logouts[i] = bp->ut_time;
break;
}
@@
-94,7
+96,7
@@
main(ac, av)
long delta;
if (otime < 0) {
otime = -otime;
long delta;
if (otime < 0) {
otime = -otime;
- printf("-
crash"
);
+ printf("-
%s", crmsg
);
} else
printf("- %5.5s",
ctime(&otime)+11);
} else
printf("- %5.5s",
ctime(&otime)+11);
@@
-109,10
+111,14
@@
main(ac, av)
}
fflush(stdout);
}
}
fflush(stdout);
}
- if (lineq(bp->ut_line, "~") ||
- lineq(bp->ut_line, "tty~"))
- for (i = 0; *ttnames[i] && i < MAXTTYS; i++)
+ if (lineq(bp->ut_line, "~")) {
+ for (i = 0; i < MAXTTYS; i++)
logouts[i] = -bp->ut_time;
logouts[i] = -bp->ut_time;
+ if (nameq(bp->ut_name, "shutdown"))
+ crmsg = "down ";
+ else
+ crmsg = "crash";
+ }
}
}
ct = ctime(&buf[0].ut_time);
}
}
ct = ctime(&buf[0].ut_time);
@@
-139,7
+145,7
@@
want(bp)
register char **av;
register int ac;
register char **av;
register int ac;
- if (bp->ut_line[0] == '~')
+ if (bp->ut_line[0] == '~'
&& bp->ut_name[0] == '\0'
)
strcpy(bp->ut_name, "reboot"); /* bandaid */
if (bp->ut_name[0] == 0)
return (0);
strcpy(bp->ut_name, "reboot"); /* bandaid */
if (bp->ut_name[0] == 0)
return (0);