#include "atheme.h" #include "ipc/callback.h" #if HAVE_VALGRIND_MEMCHECK_H #include #endif static char const rcsid[] = "$Id: memcheck.C,v 1.1 2007/07/19 08:24:55 pippijn Exp $"; struct os_memcheck_listeners : callback::has_listeners { }; os_memcheck_listeners listeners; DECLARE_MODULE_V1 ("operserv/memcheck", false, _modinit, _moddeinit, rcsid, "The Ermyth Team "); #if HAVE_VALGRIND_MEMCHECK_H static void os_cmd_memcheck (sourceinfo_t *si, int parc, char *parv[]) { VALGRIND_DO_LEAK_CHECK; command_success_nodata (si, "Valgrind memcheck invoked."); return; } command_t os_memcheck = { "MEMCHECK", N_("Invokes the valgrind memcheck.."), AC_NONE, 0, os_cmd_memcheck }; cmdvec *os_cmdtree; #endif void _modinit (module_t *m) { #if HAVE_VALGRIND_MEMCHECK_H MODULE_USE_SYMBOL_T (os_cmdtree, cmdvec, "operserv/main", "os_cmdtree"); os_cmdtree << os_memcheck; #endif } void _moddeinit () { #if HAVE_VALGRIND_MEMCHECK_H os_cmdtree >> os_memcheck; #endif }