pidgin/plugins/crazychat/util.h

Sat, 19 May 2007 21:38:47 +0000

author
Richard Laager <rlaager@pidgin.im>
date
Sat, 19 May 2007 21:38:47 +0000
changeset 18068
b6554e3c8224
parent 14253
gtk/plugins/crazychat/util.h@b63ebf84c42b
parent 15884
gtk/plugins/crazychat/util.h@4de1981757fc
permissions
-rw-r--r--

merge of '1442df274a24edc9a31194327bd00dfbcf478720'
and 'ce02548a6b6a545d97fb3f371506bcf1b5cc5131'

11232
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
1 #ifndef __UTIL_H__
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
2 #define __UTIL_H__
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
3
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
4 #include <debug.h>
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
5
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
6 #define SET_TIME(x) \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
7 do { \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
8 assert(!gettimeofday((x), NULL)); \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
9 } while(0)
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
10
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
11 #define SET_TIMEOUT(timespec, given_timeout) /* timeout is in ms */ \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
12 do { \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
13 struct timeval* curr = (struct timeval*)(timespec); \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
14 unsigned int tout; \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
15 if (given_timeout > 100) { \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
16 tout = given_timeout; \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
17 } else { \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
18 tout = 100; \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
19 } \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
20 SET_TIME(curr); \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
21 curr->tv_sec += (tout / 1000); \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
22 curr->tv_usec /= 1000; /* set to ms */ \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
23 curr->tv_usec += (tout % 1000); \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
24 curr->tv_sec += (curr->tv_usec / 1000); \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
25 curr->tv_usec = (curr->tv_usec % 1000); \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
26 curr->tv_usec *= 1000000; \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
27 } while (0)
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
28
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
29 #endif
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
30
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
31 /* -- gcc specific vararg macro support ... but its so nice! -- */
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
32 #ifdef _DEBUG_
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
33 #define Debug(x, args...) \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
34 do { \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
35 printf(x, ## args); \
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
36 purple_debug(PURPLE_DEBUG_INFO, "crazychat", x, ## args); \
11232
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
37 } while (0)
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
38 #else
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
39 #define Debug(x, args...) do{}while(0)
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
40 #endif

mercurial