view plugins/crazychat/util.h @ 19739:852b32710df0

[gaim-migrate @ 16507] add the contact list retrieve and dump contact list to server currently can do chanllenge successfully But can't get the buddy list done by MaYuan<mayuan2006@gmail.com> committer: Ethan Blanton <elb@pidgin.im>
author Ma Yuan <mayuan2006@gmail.com>
date Mon, 17 Jul 2006 12:22:37 +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