resolution in a less roundabout way.
OK phessler, bluhm
-# $OpenBSD: Makefile,v 1.4 2016/05/02 16:50:17 jca Exp $
+# $OpenBSD: Makefile,v 1.5 2021/01/21 19:12:13 florian Exp $
PROG= ndp
-SRCS= ndp.c gmt2local.c
MAN= ndp.8
.include <bsd.prog.mk>
+++ /dev/null
-/* $OpenBSD: gmt2local.c,v 1.4 2013/08/09 17:52:12 bluhm Exp $ */
-
-/*
- * Copyright (c) 1997
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that: (1) source code distributions
- * retain the above copyright notice and this paragraph in its entirety, (2)
- * distributions including binary code include the above copyright notice and
- * this paragraph in its entirety in the documentation or other materials
- * provided with the distribution, and (3) all advertising materials mentioning
- * features or use of this software display the following acknowledgement:
- * ``This product includes software developed by the University of California,
- * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
- * the University nor the names of its contributors may be used to endorse
- * or promote products derived from this software without specific prior
- * written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#include <sys/types.h>
-#include <sys/time.h>
-
-#include <stdio.h>
-#include <time.h>
-
-#include "gmt2local.h"
-
-/*
- * Returns the difference between gmt and local time in seconds.
- * Use gmtime() and localtime() to keep things simple.
- */
-int32_t
-gmt2local(time_t t)
-{
- register int dt, dir;
- register struct tm *gmt, *loc;
- struct tm sgmt;
-
- if (t == 0)
- t = time(NULL);
- gmt = &sgmt;
- *gmt = *gmtime(&t);
- loc = localtime(&t);
- dt = (loc->tm_hour - gmt->tm_hour) * 60 * 60 +
- (loc->tm_min - gmt->tm_min) * 60;
-
- /*
- * If the year or julian day is different, we span 00:00 GMT
- * and must add or subtract a day. Check the year first to
- * avoid problems when the julian day wraps.
- */
- dir = loc->tm_year - gmt->tm_year;
- if (dir == 0)
- dir = loc->tm_yday - gmt->tm_yday;
- dt += dir * 24 * 60 * 60;
-
- return (dt);
-}
+++ /dev/null
-/* $OpenBSD: gmt2local.h,v 1.3 2008/10/02 23:55:18 deraadt Exp $ */
-
-/*
- * Copyright (c) 1997
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that: (1) source code distributions
- * retain the above copyright notice and this paragraph in its entirety, (2)
- * distributions including binary code include the above copyright notice and
- * this paragraph in its entirety in the documentation or other materials
- * provided with the distribution, and (3) all advertising materials mentioning
- * features or use of this software display the following acknowledgement:
- * ``This product includes software developed by the University of California,
- * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
- * the University nor the names of its contributors may be used to endorse
- * or promote products derived from this software without specific prior
- * written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef gmt2local_h
-#define gmt2local_h
-
-int32_t gmt2local(time_t);
-#endif
-/* $OpenBSD: ndp.c,v 1.99 2019/12/19 18:36:37 bluhm Exp $ */
+/* $OpenBSD: ndp.c,v 1.100 2021/01/21 19:12:13 florian Exp $ */
/* $KAME: ndp.c,v 1.101 2002/07/17 08:46:33 itojun Exp $ */
/*
#include <limits.h>
#include <err.h>
-#include "gmt2local.h"
-
/* packing rule for routing socket */
#define ROUNDUP(a) \
((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long))
static pid_t pid;
static int nflag;
static int tflag;
-static int32_t thiszone; /* time difference with gmt */
static int rtsock = -1;
static int repeat = 0;
const char *errstr;
pid = getpid();
- thiszone = gmt2local(0);
rdomain = getrtable();
while ((ch = getopt(argc, argv, "acd:f:i:nstA:V:")) != -1) {
switch (ch) {
continue;
}
gettimeofday(&now, 0);
- if (tflag)
- ts_print(&now);
+ if (tflag) {
+ char buf[sizeof("00:00:00")];
+ struct tm *tm;
+
+ tm = localtime(&now.tv_sec);
+ if (tm != NULL) {
+ strftime(buf, sizeof(buf), "%H:%M:%S", tm);
+ printf("%s.%06ld ", buf, now.tv_usec);
+ }
+ }
addrwidth = strlen(host_buf);
if (addrwidth < W_ADDR)
return(result);
}
-
-/*
- * Print the timestamp
- * from tcpdump/util.c
- */
-static void
-ts_print(const struct timeval *tvp)
-{
- int s;
-
- /* Default */
- s = (tvp->tv_sec + thiszone) % 86400;
- (void)printf("%02d:%02d:%02d.%06u ",
- s / 3600, (s % 3600) / 60, s % 60, (u_int32_t)tvp->tv_usec);
-}