]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: time-util: Add timeval_add_usecs() and timeval_sub_usecs().
authorStephan Bosch <stephan.bosch@dovecot.fi>
Thu, 13 Dec 2018 08:53:18 +0000 (09:53 +0100)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Tue, 10 Sep 2019 07:01:46 +0000 (10:01 +0300)
src/lib/time-util.h

index 019da2aae4d667a0a7146df9dc29af2c1290d210..f86fa1b73095cfdca6d7daf86b79444e3ea21866 100644 (file)
@@ -14,6 +14,28 @@ int timeval_diff_msecs(const struct timeval *tv1, const struct timeval *tv2);
 long long timeval_diff_usecs(const struct timeval *tv1,
                             const struct timeval *tv2);
 
+static inline void
+timeval_add_usecs(struct timeval *tv, long long usecs)
+{
+       tv->tv_sec += usecs / 1000000;
+       tv->tv_usec += (usecs % 1000000);
+       if (tv->tv_usec >= 1000000) {
+               tv->tv_sec++;
+               tv->tv_usec -= 1000000;
+       }
+}
+
+static inline void
+timeval_sub_usecs(struct timeval *tv, long long usecs)
+{
+       tv->tv_sec -= usecs / 1000000;
+       tv->tv_usec -= (usecs % 1000000);
+       if (tv->tv_usec < 0) {
+               tv->tv_sec--;
+               tv->tv_usec += 1000000;
+       }
+}
+
 static inline void
 timeval_add_msecs(struct timeval *tv, unsigned int msecs)
 {