Mercurial > pidgin
view plugins/crazychat/util.h @ 13343:3e87f0c5287d
[gaim-migrate @ 15713]
SF Patch #1439873 from Sadrul
"Open a conversation with someone in yahoo. Now with the
conversation tab open, disconnect/reconnect or
disable/enable the account a few times. Gaim may crash.
This is because yahoo doesn't set the proto_data of the
connection to NULL after it _close()es the connection.
All other prpls (i looked in msn, oscar, jabber,
sametime) set it to NULL after freeing the data."
committer: Tailor Script <tailor@pidgin.im>
| author | Richard Laager <rlaager@wiktel.com> |
|---|---|
| date | Tue, 28 Feb 2006 01:30:01 +0000 |
| parents | 8bcd4d4ccef6 |
| children |
line wrap: on
line source
#ifndef __UTIL_H__ #define __UTIL_H__ #include <debug.h> #define SET_TIME(x) \ do { \ assert(!gettimeofday((x), NULL)); \ } while(0) #define SET_TIMEOUT(timespec, given_timeout) /* timeout is in ms */ \ do { \ struct timeval* curr = (struct timeval*)(timespec); \ unsigned int tout; \ if (given_timeout > 100) { \ tout = given_timeout; \ } else { \ tout = 100; \ } \ SET_TIME(curr); \ curr->tv_sec += (tout / 1000); \ curr->tv_usec /= 1000; /* set to ms */ \ curr->tv_usec += (tout % 1000); \ curr->tv_sec += (curr->tv_usec / 1000); \ curr->tv_usec = (curr->tv_usec % 1000); \ curr->tv_usec *= 1000000; \ } while (0) #endif /* -- gcc specific vararg macro support ... but its so nice! -- */ #ifdef _DEBUG_ #define Debug(x, args...) \ do { \ printf(x, ## args); \ gaim_debug(GAIM_DEBUG_INFO, "crazychat", x, ## args); \ } while (0) #else #define Debug(x, args...) do{}while(0) #endif
