]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
timeval_diff_*() fixes.
authorTimo Sirainen <tss@iki.fi>
Wed, 12 Aug 2009 21:26:56 +0000 (17:26 -0400)
committerTimo Sirainen <tss@iki.fi>
Wed, 12 Aug 2009 21:26:56 +0000 (17:26 -0400)
--HG--
branch : HEAD

src/lib/time-util.c

index 33237a7dc22d99803208e3ae5d1aff7880b30914..d3f79a35cd730effa18ea280eac81d371a293e8a 100644 (file)
@@ -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;