11232
|
1 #ifndef __UTIL_H__
|
|
2 #define __UTIL_H__
|
|
3
|
|
4 #include <debug.h>
|
|
5
|
|
6 #define SET_TIME(x) \
|
|
7 do { \
|
|
8 assert(!gettimeofday((x), NULL)); \
|
|
9 } while(0)
|
|
10
|
|
11 #define SET_TIMEOUT(timespec, given_timeout) /* timeout is in ms */ \
|
|
12 do { \
|
|
13 struct timeval* curr = (struct timeval*)(timespec); \
|
|
14 unsigned int tout; \
|
|
15 if (given_timeout > 100) { \
|
|
16 tout = given_timeout; \
|
|
17 } else { \
|
|
18 tout = 100; \
|
|
19 } \
|
|
20 SET_TIME(curr); \
|
|
21 curr->tv_sec += (tout / 1000); \
|
|
22 curr->tv_usec /= 1000; /* set to ms */ \
|
|
23 curr->tv_usec += (tout % 1000); \
|
|
24 curr->tv_sec += (curr->tv_usec / 1000); \
|
|
25 curr->tv_usec = (curr->tv_usec % 1000); \
|
|
26 curr->tv_usec *= 1000000; \
|
|
27 } while (0)
|
|
28
|
|
29 #endif
|
|
30
|
|
31 /* -- gcc specific vararg macro support ... but its so nice! -- */
|
|
32 #ifdef _DEBUG_
|
|
33 #define Debug(x, args...) \
|
|
34 do { \
|
|
35 printf(x, ## args); \
|
|
36 gaim_debug(GAIM_DEBUG_INFO, "crazychat", x, ## args); \
|
|
37 } while (0)
|
|
38 #else
|
|
39 #define Debug(x, args...) do{}while(0)
|
|
40 #endif
|