diff options
author | ed <ed@FreeBSD.org> | 2009-12-05 20:09:50 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2009-12-05 20:09:50 +0000 |
commit | dd6da936a1fd0326da76832a4fd3e5688ca1190e (patch) | |
tree | b7539c6d2646e857a204a269ba6da5524a7d147d /bin/date | |
parent | 149e4bd942f929cb574d41bd15602213d9b892c5 (diff) | |
download | FreeBSD-src-dd6da936a1fd0326da76832a4fd3e5688ca1190e.zip FreeBSD-src-dd6da936a1fd0326da76832a4fd3e5688ca1190e.tar.gz |
Let date(1) use utmpx instead of logwtmp().
utmpx also has OLD_TIME/NEW_TIME messages, which seem to be intended for
the same purpose as how we call logwtmp() here.
Diffstat (limited to 'bin/date')
-rw-r--r-- | bin/date/Makefile | 4 | ||||
-rw-r--r-- | bin/date/date.c | 12 |
2 files changed, 11 insertions, 5 deletions
diff --git a/bin/date/Makefile b/bin/date/Makefile index 8a1dc85..b466e1d 100644 --- a/bin/date/Makefile +++ b/bin/date/Makefile @@ -3,7 +3,7 @@ PROG= date SRCS= date.c netdate.c vary.c -DPADD= ${LIBUTIL} -LDADD= -lutil +DPADD= ${LIBULOG} +LDADD= -lulog .include <bsd.prog.mk> diff --git a/bin/date/date.c b/bin/date/date.c index 578229e..c980b99 100644 --- a/bin/date/date.c +++ b/bin/date/date.c @@ -48,11 +48,12 @@ __FBSDID("$FreeBSD$"); #include <ctype.h> #include <err.h> #include <locale.h> -#include <libutil.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <syslog.h> +#define _ULOG_POSIX_NAMES +#include <ulog.h> #include <unistd.h> #include "extern.h" @@ -181,6 +182,7 @@ main(int argc, char *argv[]) static void setthetime(const char *fmt, const char *p, int jflag, int nflag) { + struct utmpx utx; struct tm *lt; struct timeval tv; const char *dot, *t; @@ -271,12 +273,16 @@ setthetime(const char *fmt, const char *p, int jflag, int nflag) if (!jflag) { /* set the time */ if (nflag || netsettime(tval)) { - logwtmp("|", "date", ""); + utx.ut_type = OLD_TIME; + gettimeofday(&utx.ut_tv, NULL); + pututxline(&utx); tv.tv_sec = tval; tv.tv_usec = 0; if (settimeofday(&tv, (struct timezone *)NULL)) err(1, "settimeofday (timeval)"); - logwtmp("{", "date", ""); + utx.ut_type = NEW_TIME; + gettimeofday(&utx.ut_tv, NULL); + pututxline(&utx); } if ((p = getlogin()) == NULL) |