view plugins/error.c @ 3941:23c430e780eb

[gaim-migrate @ 4117] (23:03:23) Luke: gaim cvs has a fairly significant memory leak (23:04:09) Sean: yes--it leaks the size of every message received (23:04:21) Luke: ffuunn (23:09:33) Sean: do me a favor and fix it for me (23:09:41) Luke: fix what (23:09:48) Sean: the leak (23:10:03) Sean: uncomment g_free(ws); in gtk_imhtml_append_text (23:10:14) Luke: how many crashes will that cause (23:10:17) Sean: none (23:10:22) Sean: I fixed the crashing (23:10:27) Sean: but forgot to uncomment that (23:10:48) Luke: what file is that in (23:11:06) Sean: gtkimhtml.c committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Mon, 11 Nov 2002 04:17:25 +0000
parents cd938f18f3f8
children
line wrap: on
line source

#define GAIM_PLUGINS
#include "gaim.h"

#include <stdlib.h>
#include <time.h>

char *gaim_plugin_error(int);

char *gaim_plugin_init(GModule *handle) {
	int error;

	/* so here, we load any callbacks, do the normal stuff */

	srand(time(NULL));
	error = rand() % 3;
	error -= 2;
	/* there's a 1 in 3 chance there *won't* be an error :) */
	return gaim_plugin_error(error);
}

void gaim_plugin_remove() {
	/* this only gets called if we get loaded successfully, and then
	 * unloaded. */
}

char *gaim_plugin_error(int error) {
	/* by the time we've gotten here, all our callbacks are removed.
	 * we just have to deal with what the error was (as defined by us)
	 * and do any other clean-up stuff we need to do. */
	switch (error) {
	case -1:
		return "MY BAD";
	case -2:
		return "Internal plugin error: exiting.";
	default:
		return NULL;
	}
}

struct gaim_plugin_description desc; 
struct gaim_plugin_description *gaim_plugin_desc() {
	desc.api_version = PLUGIN_API_VERSION;
	desc.name = g_strdup("Error Tester");
	desc.version = g_strdup(VERSION);
	desc.description = g_strdup("A plugin that causes error messages.");
	desc.authors = g_strdup("Eric Warmehoven &lt;eric@warmenhoven.org>");
	desc.url = g_strdup(WEBSITE);
	return &desc;
}

char *name() {
	return "Error Tester " VERSION ;
}

char *description() {
	return "A nice little program that causes error messages";
}