X-Git-Url: http://git.subgeniuskitty.com/icmpmonitor/.git/blobdiff_plain/d283bb629d5158ab029cb33458b52628b6162e57..e69088a2edb284f748570158097465e4c879e13c:/icmpmonitor.c diff --git a/icmpmonitor.c b/icmpmonitor.c index efa6d71..6bc2006 100644 --- a/icmpmonitor.c +++ b/icmpmonitor.c @@ -100,12 +100,16 @@ checksum(const uint16_t * data) } /* - * Calculate difference between two timeval structs to within one second. + * Calculate difference (a-b) between two timeval structs. */ void timeval_diff(struct timeval * a, const struct timeval * b) { - assert(a->tv_sec >= b->tv_sec); + if (a->tv_usec < b->tv_usec) { + a->tv_sec--; + a->tv_usec += 1000000; + } + a->tv_usec -= b->tv_usec; a->tv_sec -= b->tv_sec; }