X-Git-Url: http://git.subgeniuskitty.com/icmpmonitor/.git/blobdiff_plain/a68b34a0f2c525bbe19d0aec981809af7debe9da..e69088a2edb284f748570158097465e4c879e13c:/icmpmonitor.c diff --git a/icmpmonitor.c b/icmpmonitor.c index 6dede30..6bc2006 100644 --- a/icmpmonitor.c +++ b/icmpmonitor.c @@ -11,6 +11,12 @@ * See LICENSE file for copyright and license details. */ +/* Wishlist */ +/* TODO: Add IPv6 support. */ +/* TODO: Turn the global '-r' functionality into per-host config file option. */ +/* TODO: Add 'auto' keyword to 'start_condition', testing host on startup. */ +/* TODO: Double-check the network code when interrupted while receiving a packet. */ + #include #include #include @@ -94,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; }