Browse Source

acc(k): Define timersub macro for Solaris as it is not provided in
<sys/time.h>.

Timo Reimann 14 năm trước cách đây
mục cha
commit
456903d2b4
1 tập tin đã thay đổi với 13 bổ sung0 xóa
  1. 13 0
      modules_k/acc/acc_cdr.c

+ 13 - 0
modules_k/acc/acc_cdr.c

@@ -46,6 +46,19 @@
 
 
 #include <sys/time.h>
 #include <sys/time.h>
 
 
+/* Solaris does not provide timersub macro in <sys/time.h> */
+#ifdef __OS_solaris
+#define timersub(tvp, uvp, vvp)                     \
+    do {                                \
+        (vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec;      \
+        (vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec;   \
+        if ((vvp)->tv_usec < 0) {               \
+            (vvp)->tv_sec--;                \
+            (vvp)->tv_usec += 1000000;          \
+        }                           \
+    } while (0)
+#endif // __OS_solaris
+
 #define TIME_STR_BUFFER_SIZE 20
 #define TIME_STR_BUFFER_SIZE 20
 #define TIME_BUFFER_LENGTH 256
 #define TIME_BUFFER_LENGTH 256