diff options
-rw-r--r-- | src/helper/time_support.c | 15 | ||||
-rw-r--r-- | src/helper/time_support.h | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/helper/time_support.c b/src/helper/time_support.c index 8337e73..05eaf0a 100644 --- a/src/helper/time_support.c +++ b/src/helper/time_support.c @@ -62,6 +62,21 @@ int timeval_add_time(struct timeval *result, long sec, long usec) return 0; } +/* compare two timevals and return -1/0/+1 accordingly */ +int timeval_compare(const struct timeval *x, const struct timeval *y) +{ + if (x->tv_sec < y->tv_sec) + return -1; + else if (x->tv_sec > y->tv_sec) + return 1; + else if (x->tv_usec < y->tv_usec) + return -1; + else if (x->tv_usec > y->tv_usec) + return 1; + else + return 0; +} + int duration_start(struct duration *duration) { return gettimeofday(&duration->start, NULL); diff --git a/src/helper/time_support.h b/src/helper/time_support.h index 58c8c48..7abbdb2 100644 --- a/src/helper/time_support.h +++ b/src/helper/time_support.h @@ -38,6 +38,7 @@ int timeval_subtract(struct timeval *result, struct timeval *x, struct timeval *y); int timeval_add_time(struct timeval *result, long sec, long usec); +int timeval_compare(const struct timeval *x, const struct timeval *y); /** @returns gettimeofday() timeval as 64-bit in ms */ int64_t timeval_ms(void); |