view plugins/crazychat/util.h @ 13548:db6add1a3905

[gaim-migrate @ 15925] Another patch from Bj??rn Voigt: "Jochen Kemnade helped me very much with the German translation for 2.0.0. He wants to continue translation support and asked to be added to the current translators list." and "I found an inconsistency in the translators list. Normally there is only one translator per line. But there could be more than one translator for one language. But Erdal Ronahi and Amed ?. Jiyan are in one line. The problem is that the click on the mailto-link does not work with two mail adresses together (in the Gaim->About window)" committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Wed, 22 Mar 2006 06:24:39 +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