]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
time: add timeradd implementation
authorVictor Julien <victor@inliniac.net>
Wed, 10 Nov 2021 14:40:26 +0000 (15:40 +0100)
committerVictor Julien <vjulien@oisf.net>
Mon, 5 Sep 2022 09:59:45 +0000 (11:59 +0200)
timeradd isn't available on MinGW.

(cherry picked from commit 39141a8836c99cf65e533e8c6dd312bfb579643b)

src/util-time.h

index a75ed2ddec225c118f32a3e732719db3ed7ef564..23aa0af46b6c238ffd13d6b22dc48d2bd6926f84 100644 (file)
@@ -56,6 +56,18 @@ static inline bool TimevalEarlier(struct timeval *first, struct timeval *second)
     return !timercmp(first, second, >);
 }
 
+#ifndef timeradd
+#define timeradd(a, b, r)                                                                          \
+    do {                                                                                           \
+        (r)->tv_sec = (a)->tv_sec + (b)->tv_sec;                                                   \
+        (r)->tv_usec = (a)->tv_usec + (b)->tv_usec;                                                \
+        if ((r)->tv_usec >= 1000000) {                                                             \
+            (r)->tv_sec++;                                                                         \
+            (r)->tv_usec -= 1000000;                                                               \
+        }                                                                                          \
+    } while (0)
+#endif
+
 #ifdef UNITTESTS
 void TimeSet(struct timeval *);
 void TimeSetToCurrentTime(void);