X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/af81d5a0b09446188fd6f9c292b51519f2c1cedd..d25c6eb1b223d1a0993dde9a28c97ef95e54bceb:/src/hook.c diff --git a/src/hook.c b/src/hook.c index b6873e0..91b6413 100644 --- a/src/hook.c +++ b/src/hook.c @@ -37,10 +37,8 @@ * $Id: hook.c 712 2006-02-06 04:42:14Z gxti $ */ #include "stdinc.h" -#include "memory.h" -#include "tools.h" #include "hook.h" -#include "irc_string.h" +#include "match.h" hook *hooks; @@ -61,14 +59,16 @@ int h_burst_finished; int h_server_introduced; int h_server_eob; int h_client_exit; +int h_umode_changed; int h_new_local_user; int h_new_remote_user; int h_introduce_client; +int h_can_kick; void init_hook(void) { - hooks = MyMalloc(sizeof(hook) * HOOK_INCREMENT); + hooks = rb_malloc(sizeof(hook) * HOOK_INCREMENT); #ifdef USE_IODEBUG_HOOKS h_iosend_id = register_hook("iosend"); @@ -86,6 +86,7 @@ init_hook(void) h_new_local_user = register_hook("new_local_user"); h_new_remote_user = register_hook("new_remote_user"); h_introduce_client = register_hook("introduce_client"); + h_can_kick = register_hook("can_kick"); } /* grow_hooktable() @@ -96,10 +97,10 @@ grow_hooktable(void) { hook *newhooks; - newhooks = MyMalloc(sizeof(hook) * (max_hooks + HOOK_INCREMENT)); + newhooks = rb_malloc(sizeof(hook) * (max_hooks + HOOK_INCREMENT)); memcpy(newhooks, hooks, sizeof(hook) * num_hooks); - MyFree(hooks); + rb_free(hooks); hooks = newhooks; max_hooks += HOOK_INCREMENT; } @@ -158,7 +159,7 @@ register_hook(const char *name) if((i = find_hook(name)) < 0) { i = find_freehookslot(); - DupString(hooks[i].name, name); + hooks[i].name = rb_strdup(name); num_hooks++; } @@ -205,7 +206,7 @@ call_hook(int id, void *arg) /* The ID we were passed is the position in the hook table of this * hook */ - DLINK_FOREACH(ptr, hooks[id].hooks.head) + RB_DLINK_FOREACH(ptr, hooks[id].hooks.head) { fn = ptr->data; fn(arg);