view libpurple/plugins/perl/common/Debug.xs @ 31736:462c19eb31d8

Remove duplicate calls to msn_slpmsg_set_slplink. This function is already called when a slpmsg is created, and calling it again will place the slpmsg on the slplink list an extra time. If the slpmsg is freed, then the first entry is removed, but the second remains, and can cause crashes due to invalid memory accesses. Fixes #14307.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Thu, 14 Jul 2011 05:54:10 +0000
parents 39c7bb133a9f
children
line wrap: on
line source

#include "module.h"

MODULE = Purple::Debug  PACKAGE = Purple::Debug  PREFIX = purple_debug_
PROTOTYPES: ENABLE

BOOT:
{
	HV *stash = gv_stashpv("Purple::Debug", 1);

	static const constiv *civ, const_iv[] = {
#define const_iv(name) {#name, (IV)PURPLE_DEBUG_##name}
		const_iv(ALL),
		const_iv(MISC),
		const_iv(INFO),
		const_iv(WARNING),
		const_iv(ERROR),
		const_iv(FATAL),
	};

	for (civ = const_iv + sizeof(const_iv) / sizeof(const_iv[0]); civ-- > const_iv; )
		newCONSTSUB(stash, (char *)civ->name, newSViv(civ->iv));
}

void
purple_debug(level, category, string)
	Purple::DebugLevel level
	const char *category
	const char *string
CODE:
	purple_debug(level, category, "%s", string);

void
purple_debug_misc(category, string)
	const char *category
	const char *string
CODE:
	purple_debug_misc(category, "%s", string);

void
purple_debug_info(category, string)
	const char *category
	const char *string
CODE:
	purple_debug_info(category, "%s", string);

void
purple_debug_warning(category, string)
	const char *category
	const char *string
CODE:
	purple_debug_warning(category, "%s", string);

void
purple_debug_error(category, string)
	const char *category
	const char *string
CODE:
	purple_debug_error(category, "%s", string);

void
purple_debug_fatal(category, string)
	const char *category
	const char *string
CODE:
	purple_debug_fatal(category, "%s", string);

void
purple_debug_set_enabled(enabled)
	gboolean enabled

gboolean
purple_debug_is_enabled()