diff src/plugins.c @ 2125:af59d854de29

[gaim-migrate @ 2135] bmiller's patch to unload plugins on exit signals committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Mon, 06 Aug 2001 18:12:36 +0000
parents 0b81421021fd
children acc11216ec5d
line wrap: on
line diff
--- a/src/plugins.c	Mon Aug 06 17:54:50 2001 +0000
+++ b/src/plugins.c	Mon Aug 06 18:12:36 2001 +0000
@@ -981,3 +981,19 @@
 	return 0;
 #endif
 }
+
+/* Calls the gaim_plugin_remove function in any loaded plugin that has one */
+void remove_all_plugins()
+{
+	GList *c = plugins;
+	struct gaim_plugin *p;
+	void (*gaim_plugin_remove)();
+
+	while (c) {
+		p = (struct gaim_plugin *)c->data;
+		if (g_module_symbol(p->handle, "gaim_plugin_remove", (gpointer *)&gaim_plugin_remove))
+			(*gaim_plugin_remove)();
+		g_free(p);
+		c = c->next;
+	}
+}