diff options
author | ed <ed@FreeBSD.org> | 2012-09-01 14:45:15 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2012-09-01 14:45:15 +0000 |
commit | 02dcf28b5875df173bef8c14a9ddd3d3ce67c5d4 (patch) | |
tree | 496a0b9a3b14c27d50e1ae3b28265ecf5c2023f2 /usr.bin/lock/lock.c | |
parent | a6edc1e4b7ca5750cf84fb6a6b048b796c0cc77f (diff) | |
download | FreeBSD-src-02dcf28b5875df173bef8c14a9ddd3d3ce67c5d4.zip FreeBSD-src-02dcf28b5875df173bef8c14a9ddd3d3ce67c5d4.tar.gz |
Rework all non-contributed files that use `struct timezone'.
This structure is not part of POSIX. According to POSIX, gettimeofday()
has the following prototype:
int gettimeofday(struct timeval *restrict tp, void *restrict tzp);
Also, POSIX states that gettimeofday() shall return 0 (as long as tzp is
not used). Remove dead error handling code. Also use NULL for a
nul-pointer instead of integer 0.
While there, change all pieces of code that only use tv_sec to use
time(3), as this provides less overhead.
Diffstat (limited to 'usr.bin/lock/lock.c')
-rw-r--r-- | usr.bin/lock/lock.c | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/usr.bin/lock/lock.c b/usr.bin/lock/lock.c index 3f23a98..0382e83 100644 --- a/usr.bin/lock/lock.c +++ b/usr.bin/lock/lock.c @@ -54,9 +54,9 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> #include <sys/stat.h> -#include <sys/time.h> #include <sys/signal.h> #include <sys/consio.h> + #include <err.h> #include <ctype.h> #include <errno.h> @@ -68,6 +68,7 @@ __FBSDID("$FreeBSD$"); #include <string.h> #include <syslog.h> #include <termios.h> +#include <time.h> #include <unistd.h> #define TIMEOUT 15 @@ -89,10 +90,9 @@ int main(int argc, char **argv) { struct passwd *pw; - struct timeval timval; - time_t timval_sec; struct itimerval ntimer, otimer; struct tm *timp; + time_t timval; int ch, failures, sectimeout, usemine, vtylock; char *ap, *cryptpw, *mypw, *ttynam, *tzn; char hostname[MAXHOSTNAMELEN], s[BUFSIZ], s1[BUFSIZ]; @@ -138,11 +138,9 @@ main(int argc, char **argv) errx(1, "not a terminal?"); if (strncmp(ttynam, _PATH_DEV, strlen(_PATH_DEV)) == 0) ttynam += strlen(_PATH_DEV); - if (gettimeofday(&timval, (struct timezone *)NULL)) - err(1, "gettimeofday"); - nexttime = timval.tv_sec + (sectimeout * 60); - timval_sec = timval.tv_sec; - timp = localtime(&timval_sec); + timval = time(NULL); + nexttime = timval + (sectimeout * 60); + timp = localtime(&timval); ap = asctime(timp); tzn = timp->tm_zone; @@ -256,17 +254,16 @@ usage(void) static void hi(int signo __unused) { - struct timeval timval; + time_t timval; - if (!gettimeofday(&timval, (struct timezone *)NULL)) { - (void)printf("lock: type in the unlock key. "); - if (no_timeout) { - (void)putchar('\n'); - } else { - (void)printf("timeout in %jd:%jd minutes\n", - (intmax_t)(nexttime - timval.tv_sec) / 60, - (intmax_t)(nexttime - timval.tv_sec) % 60); - } + timval = time(NULL); + (void)printf("lock: type in the unlock key. "); + if (no_timeout) { + (void)putchar('\n'); + } else { + (void)printf("timeout in %jd:%jd minutes\n", + (intmax_t)(nexttime - timval) / 60, + (intmax_t)(nexttime - timval) % 60); } } |