from netbsd; also print elapsed time
authorderaadt <deraadt@openbsd.org>
Thu, 14 Dec 1995 02:56:43 +0000 (02:56 +0000)
committerderaadt <deraadt@openbsd.org>
Thu, 14 Dec 1995 02:56:43 +0000 (02:56 +0000)
usr.bin/lastcomm/Makefile
usr.bin/lastcomm/lastcomm.1
usr.bin/lastcomm/lastcomm.c

index 5c174f7..1d61202 100644 (file)
@@ -1,6 +1,8 @@
-#      $NetBSD: Makefile,v 1.4 1994/12/22 01:06:58 jtc Exp $
+#      $NetBSD: Makefile,v 1.5 1995/10/22 01:43:40 ghudson Exp $
 #      @(#)Makefile    8.1 (Berkeley) 6/6/93
 
 PROG=  lastcomm
+DPADD= ${LIBMATH}
+LDADD= -lm
 
 .include <bsd.prog.mk>
index 431b188..f4e7207 100644 (file)
@@ -1,4 +1,4 @@
-.\"    $NetBSD: lastcomm.1,v 1.4.2.1 1995/10/22 01:45:09 ghudson Exp $
+.\"    $NetBSD: lastcomm.1,v 1.5 1995/10/22 01:43:41 ghudson Exp $
 .\"
 .\" Copyright (c) 1980, 1990, 1993
 .\"    The Regents of the University of California.  All rights reserved.
@@ -98,6 +98,8 @@ The command name under which the process was called.
 The amount of cpu time used by the process (in seconds).
 .It
 The time the process started.
+.It
+The elapsed time of the process.
 .El
 .Pp
 The flags are encoded as follows: ``S'' indicates the command was
index f4b88e8..5069d06 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: lastcomm.c,v 1.7.2.1 1995/10/12 06:55:13 jtc Exp $     */
+/*     $NetBSD: lastcomm.c,v 1.9 1995/10/22 01:43:42 ghudson Exp $     */
 
 /*
  * Copyright (c) 1980, 1993
@@ -43,7 +43,7 @@ static char copyright[] =
 #if 0
 static char sccsid[] = "@(#)lastcomm.c 8.2 (Berkeley) 4/29/95";
 #endif
-static char rcsid[] = "$NetBSD: lastcomm.c,v 1.7.2.1 1995/10/12 06:55:13 jtc Exp $";
+static char rcsid[] = "$NetBSD: lastcomm.c,v 1.9 1995/10/22 01:43:42 ghudson Exp $";
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -53,10 +53,12 @@ static char rcsid[] = "$NetBSD: lastcomm.c,v 1.7.2.1 1995/10/12 06:55:13 jtc Exp
 #include <ctype.h>
 #include <err.h>
 #include <fcntl.h>
+#include <math.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <struct.h>
+#include <tzfile.h>
 #include <unistd.h>
 #include <utmp.h>
 #include "pathnames.h"
@@ -79,6 +81,7 @@ main(argc, argv)
        FILE *fp;
        off_t size;
        time_t t;
+       double delta;
        int ch;
        char *acctfile;
 
@@ -140,11 +143,16 @@ main(argc, argv)
                        continue;
 
                t = expand(ab.ac_utime) + expand(ab.ac_stime);
-               (void)printf("%-*.*s %-7s %-*.*s %-*.*s %6.2f secs %.16s\n",
+               (void)printf("%-*.*s %-7s %-*.*s %-*.*s %6.2f secs %.16s",
                    fldsiz(acct, ac_comm), fldsiz(acct, ac_comm), ab.ac_comm,
                    flagbits(ab.ac_flag), UT_NAMESIZE, UT_NAMESIZE,
                    user_from_uid(ab.ac_uid, 0), UT_LINESIZE, UT_LINESIZE,
                    getdev(ab.ac_tty), t / (double)AHZ, ctime(&ab.ac_btime));
+               delta = expand(ab.ac_etime) / (double)AHZ;
+               printf(" (%1.0lf:%02.0lf:%05.2lf)\n",
+                   delta / SECSPERHOUR,
+                   fmod(delta, SECSPERHOUR) / SECSPERMIN,
+                   fmod(delta, SECSPERMIN));
        }
        exit(0);
 }