From e0fc7a54f287aad414b373410e09faa048f3a9dd Mon Sep 17 00:00:00 2001 From: Christopher Head Date: Wed, 24 Jan 2018 14:22:37 -0800 Subject: [PATCH] Add timeval_compare helper function Change-Id: Id75727a150912ff778a4fa32ad56467da33a6324 Signed-off-by: Christopher Head Reviewed-on: http://openocd.zylin.com/4379 Tested-by: jenkins Reviewed-by: Tomas Vanek --- src/helper/time_support.c | 15 +++++++++++++++ src/helper/time_support.h | 1 + 2 files changed, 16 insertions(+) diff --git a/src/helper/time_support.c b/src/helper/time_support.c index 8337e73ba7..05eaf0a9d0 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 58c8c48bb1..7abbdb24d2 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); -- 2.30.2