diff --git a/include/hook.h b/include/hook.h index 7ab954fd..08ec5380 100644 --- a/include/hook.h +++ b/include/hook.h @@ -32,6 +32,8 @@ extern int h_introduce_client; extern int h_can_kick; extern int h_privmsg_channel; extern int h_privmsg_user; +extern int h_conf_read_start; +extern int h_conf_read_end; void init_hook(void); int register_hook(const char *name); diff --git a/src/hook.c b/src/hook.c index fd937705..24e924b6 100644 --- a/src/hook.c +++ b/src/hook.c @@ -66,6 +66,8 @@ int h_introduce_client; int h_can_kick; int h_privmsg_user; int h_privmsg_channel; +int h_conf_read_start; +int h_conf_read_end; void init_hook(void) @@ -91,6 +93,8 @@ init_hook(void) h_can_kick = register_hook("can_kick"); h_privmsg_user = register_hook("privmsg_user"); h_privmsg_channel = register_hook("privmsg_channel"); + h_conf_read_start = register_hook("conf_read_start"); + h_conf_read_end = register_hook("conf_read_end"); } /* grow_hooktable() diff --git a/src/s_conf.c b/src/s_conf.c index ca93f05d..303ed509 100644 --- a/src/s_conf.c +++ b/src/s_conf.c @@ -52,6 +52,7 @@ #include "bandbi.h" #include "operhash.h" #include "chmode.h" +#include "hook.h" struct config_server_hide ConfigServerHide; @@ -1372,7 +1373,10 @@ read_conf_files(int cold) clear_out_old_conf(); } + call_hook(h_conf_read_start, NULL); read_conf(conf_fbfile_in); + call_hook(h_conf_read_end, NULL); + fclose(conf_fbfile_in); }