Mercurial > pidgin
view plugins/crazychat/util.h @ 13998:4fa4f2909b0d
[gaim-migrate @ 16583]
Fix a crash when gadu-gadu signs off while a search is still open. It destroys its search HashTable in its close() function, and that table is accessed when gaim_notify_close_with_handle() is called. An alternative fix would be for the close_with_handle() functions to be called before prpl_info->close() in connection.c, but I'm not positive that this wouldn't cause problems with other prpls, so I went for a smaller-impact change. I'll merge this back to the 2.0.0 branch if there are no objections.
committer: Tailor Script <tailor@pidgin.im>
| author | Evan Schoenberg <evan.s@dreskin.net> |
|---|---|
| date | Thu, 27 Jul 2006 17:37:42 +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
