From 567a5b7e0c04f9647bfeb3ed185dc9839ab9fdc7 Mon Sep 17 00:00:00 2001 From: florian Date: Thu, 21 Jan 2021 19:12:13 +0000 Subject: [PATCH] ndp only deals with current localtime. Print time with subsecond resolution in a less roundabout way. OK phessler, bluhm --- usr.sbin/ndp/Makefile | 3 +- usr.sbin/ndp/gmt2local.c | 62 ---------------------------------------- usr.sbin/ndp/gmt2local.h | 28 ------------------ usr.sbin/ndp/ndp.c | 33 +++++++-------------- 4 files changed, 12 insertions(+), 114 deletions(-) delete mode 100644 usr.sbin/ndp/gmt2local.c delete mode 100644 usr.sbin/ndp/gmt2local.h diff --git a/usr.sbin/ndp/Makefile b/usr.sbin/ndp/Makefile index 454b8c730ad..20a9f077186 100644 --- a/usr.sbin/ndp/Makefile +++ b/usr.sbin/ndp/Makefile @@ -1,7 +1,6 @@ -# $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 diff --git a/usr.sbin/ndp/gmt2local.c b/usr.sbin/ndp/gmt2local.c deleted file mode 100644 index 145ca947c76..00000000000 --- a/usr.sbin/ndp/gmt2local.c +++ /dev/null @@ -1,62 +0,0 @@ -/* $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 -#include - -#include -#include - -#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); -} diff --git a/usr.sbin/ndp/gmt2local.h b/usr.sbin/ndp/gmt2local.h deleted file mode 100644 index 07dada3869e..00000000000 --- a/usr.sbin/ndp/gmt2local.h +++ /dev/null @@ -1,28 +0,0 @@ -/* $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 diff --git a/usr.sbin/ndp/ndp.c b/usr.sbin/ndp/ndp.c index 04f72adc9ad..adf56c51acc 100644 --- a/usr.sbin/ndp/ndp.c +++ b/usr.sbin/ndp/ndp.c @@ -1,4 +1,4 @@ -/* $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 $ */ /* @@ -103,8 +103,6 @@ #include #include -#include "gmt2local.h" - /* packing rule for routing socket */ #define ROUNDUP(a) \ ((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long)) @@ -113,7 +111,6 @@ 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; @@ -147,7 +144,6 @@ main(int argc, char *argv[]) const char *errstr; pid = getpid(); - thiszone = gmt2local(0); rdomain = getrtable(); while ((ch = getopt(argc, argv, "acd:f:i:nstA:V:")) != -1) { switch (ch) { @@ -583,8 +579,16 @@ again:; 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) @@ -909,18 +913,3 @@ sec2str(time_t total) 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); -} -- 2.20.1