From: Timo Sirainen Date: Wed, 12 Aug 2009 21:26:56 +0000 (-0400) Subject: timeval_diff_*() fixes. X-Git-Tag: 2.0.alpha1~281 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2f2244332687187931e9541e5ff312aa6c5aa705;p=thirdparty%2Fdovecot%2Fcore.git timeval_diff_*() fixes. --HG-- branch : HEAD --- diff --git a/src/lib/time-util.c b/src/lib/time-util.c index 33237a7dc2..d3f79a35cd 100644 --- a/src/lib/time-util.c +++ b/src/lib/time-util.c @@ -20,16 +20,7 @@ int timeval_cmp(const struct timeval *tv1, const struct timeval *tv2) int timeval_diff_msecs(const struct timeval *tv1, const struct timeval *tv2) { - time_t secs; - int usecs; - - secs = tv1->tv_sec - tv2->tv_sec; - usecs = tv1->tv_usec - tv2->tv_usec; - if (usecs < 0) { - secs++; - usecs += 1000000; - } - return (secs * 1000) + (usecs/1000); + return timeval_diff_usecs(tv1, tv2) / 1000; } long long timeval_diff_usecs(const struct timeval *tv1, @@ -41,7 +32,7 @@ long long timeval_diff_usecs(const struct timeval *tv1, secs = tv1->tv_sec - tv2->tv_sec; usecs = tv1->tv_usec - tv2->tv_usec; if (usecs < 0) { - secs++; + secs--; usecs += 1000000; } return ((long long)secs * 1000000ULL) + usecs;