summaryrefslogtreecommitdiffstats
path: root/bin/date
diff options
context:
space:
mode:
authored <ed@FreeBSD.org>2009-12-05 20:09:50 +0000
committered <ed@FreeBSD.org>2009-12-05 20:09:50 +0000
commitdd6da936a1fd0326da76832a4fd3e5688ca1190e (patch)
treeb7539c6d2646e857a204a269ba6da5524a7d147d /bin/date
parent149e4bd942f929cb574d41bd15602213d9b892c5 (diff)
downloadFreeBSD-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/Makefile4
-rw-r--r--bin/date/date.c12
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)
OpenPOWER on IntegriCloud