X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/e76768c97a70934b8f3a41fe2df705c61a924a47..a509c52d31d1835d54295e9157d9ec387b27520b:/util.c diff --git a/util.c b/util.c index ef9ed7be..5731ca7b 100644 --- a/util.c +++ b/util.c @@ -138,8 +138,26 @@ static char * ts_format(netdissect_options *ndo, int sec, int usec) { static char buf[sizeof("00:00:00.000000000")]; - const char *format = ndo->ndo_tstamp_precision == PCAP_TSTAMP_PRECISION_NANO ? - "%02d:%02d:%02d.%09u" : "%02d:%02d:%02d.%06u"; + const char *format; + +#ifdef HAVE_PCAP_SET_TSTAMP_PRECISION + switch (ndo->ndo_tstamp_precision) { + + case PCAP_TSTAMP_PRECISION_MICRO: + format = "%02d:%02d:%02d.%06u"; + break; + + case PCAP_TSTAMP_PRECISION_NANO: + format = "%02d:%02d:%02d.%09u"; + break; + + default: + format = "%02d:%02d:%02d.{unknown precision}"; + break; + } +#else + format = "%02d:%02d:%02d.%06u"; +#endif snprintf(buf, sizeof(buf), format, sec / 3600, (sec % 3600) / 60, sec % 60, usec);