Mercurial > pidgin.yaz
view pidgin/plugins/crazychat/util.h @ 26307:a28827fdea16
Free some memory if we exit early due to an error. Thanks to
Mayank Jain Nawal's email to the devel list for pointing this
out. Oh, and I didn't test these changes at all... I guess I
probably should.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Fri, 27 Mar 2009 09:09:00 +0000 |
parents | 32c366eeeb99 |
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); \ purple_debug(PURPLE_DEBUG_INFO, "crazychat", x, ## args); \ } while (0) #else #define Debug(x, args...) do{}while(0) #endif