summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/cs_set.c23
-rw-r--r--src/core/ms_set.c21
-rw-r--r--src/core/os_logonnews.c23
-rw-r--r--src/core/os_opernews.c24
4 files changed, 52 insertions, 39 deletions
diff --git a/src/core/cs_set.c b/src/core/cs_set.c
index 7138a2054..f82a74c78 100644
--- a/src/core/cs_set.c
+++ b/src/core/cs_set.c
@@ -37,6 +37,7 @@ static int do_set_opnotice(User * u, ChannelInfo * ci, char *param);
static int do_set_xop(User * u, ChannelInfo * ci, char *param);
static int do_set_peace(User * u, ChannelInfo * ci, char *param);
static int do_set_noexpire(User * u, ChannelInfo * ci, char *param);
+static int reload_config(int argc, char **argv);
static void myChanServHelp(User * u);
/**
@@ -48,6 +49,7 @@ static void myChanServHelp(User * u);
int AnopeInit(int argc, char **argv)
{
Command *c;
+ EvtHook *hook;
moduleAddAuthor("Anope");
moduleAddVersion(VERSION_STRING);
@@ -125,6 +127,12 @@ int AnopeInit(int argc, char **argv)
moduleSetChanHelp(myChanServHelp);
+ hook = createEventHook(EVENT_RELOAD, reload_config);
+ if (moduleAddEventHook(hook) != MOD_ERR_OK) {
+ alog("[\002cs_set\002] Can't hook to EVENT_RELOAD event");
+ return MOD_STOP;
+ }
+
return MOD_CONT;
}
@@ -898,3 +906,18 @@ static int do_set_noexpire(User * u, ChannelInfo * ci, char *param)
}
return MOD_CONT;
}
+
+/*************************************************************************/
+
+/**
+ * Upon /os reload refresh the limit in help output
+ **/
+static int reload_config(int argc, char **argv) {
+ Command *c;
+
+ if (argc >= 1 && !stricmp(argv[0], EVENT_START))
+ if ((c = findCommand(CHANSERV, "SET SUCCESSOR")))
+ c->help_param1 = (char *) (long) CSMaxReg;
+
+ return MOD_CONT;
+}
diff --git a/src/core/ms_set.c b/src/core/ms_set.c
index 6d625acb5..19f7de7ad 100644
--- a/src/core/ms_set.c
+++ b/src/core/ms_set.c
@@ -17,6 +17,7 @@
static int do_set(User * u);
static int do_set_notify(User * u, MemoInfo * mi, char *param);
static int do_set_limit(User * u, MemoInfo * mi, char *param);
+static int reload_config(int argc, char **argv);
static void myMemoServHelp(User * u);
/**
@@ -28,6 +29,7 @@ static void myMemoServHelp(User * u);
int AnopeInit(int argc, char **argv)
{
Command *c;
+ EvtHook *hook;
moduleAddAuthor("Anope");
moduleAddVersion(VERSION_STRING);
@@ -49,6 +51,12 @@ int AnopeInit(int argc, char **argv)
moduleSetMemoHelp(myMemoServHelp);
+ hook = createEventHook(EVENT_RELOAD, reload_config);
+ if (moduleAddEventHook(hook) != MOD_ERR_OK) {
+ alog("[\002ms_set\002] Can't hook to EVENT_RELOAD event");
+ return MOD_STOP;
+ }
+
return MOD_CONT;
}
@@ -293,3 +301,16 @@ static int do_set_limit(User * u, MemoInfo * mi, char *param)
}
return MOD_CONT;
}
+
+/**
+ * Upon /os reload refresh the limit in help output
+ **/
+static int reload_config(int argc, char **argv) {
+ Command *c;
+
+ if (argc >= 1 && !stricmp(argv[0], EVENT_START))
+ if ((c = findCommand(MEMOSERV, "SET LIMIT")))
+ c->help_param1 = (char *) (long) MSMaxMemos;
+
+ return MOD_CONT;
+}
diff --git a/src/core/os_logonnews.c b/src/core/os_logonnews.c
index cb01fcfff..78353be47 100644
--- a/src/core/os_logonnews.c
+++ b/src/core/os_logonnews.c
@@ -27,7 +27,6 @@ int AnopeInit(int argc, char **argv)
{
Command *c;
EvtHook *hook;
- char buf[BUFSIZE];
moduleAddAuthor("Anope");
moduleAddVersion(VERSION_STRING);
@@ -39,8 +38,7 @@ int AnopeInit(int argc, char **argv)
**/
c = createCommand("LOGONNEWS", do_logonnews, is_services_admin,
NEWS_HELP_LOGON, -1, -1, -1, -1);
- snprintf(buf, BUFSIZE, "%d", NewsCount),
- c->help_param1 = sstrdup(buf);
+ c->help_param1 = (char *) (long) NewsCount;
moduleAddCommand(OPERSERV, c, MOD_UNIQUE);
moduleSetOperHelp(myOperServHelp);
@@ -59,12 +57,6 @@ int AnopeInit(int argc, char **argv)
**/
void AnopeFini(void)
{
- Command *c = findCommand(OPERSERV, "LOGONNEWS");
- if (c && c->help_param1)
- {
- free(c->help_param1);
- c->help_param1 = NULL;
- }
}
@@ -84,18 +76,11 @@ static void myOperServHelp(User * u)
* Upon /os reload refresh the count
**/
static int reload_config(int argc, char **argv) {
- char buf[BUFSIZE];
Command *c;
- if (argc >= 1) {
- if (!stricmp(argv[0], EVENT_START)) {
- if ((c = findCommand(OPERSERV, "LOGONNEWS"))) {
- free(c->help_param1);
- snprintf(buf, BUFSIZE, "%d", NewsCount),
- c->help_param1 = sstrdup(buf);
- }
- }
- }
+ if (argc >= 1 && !stricmp(argv[0], EVENT_START))
+ if ((c = findCommand(OPERSERV, "LOGONNEWS")))
+ c->help_param1 = (char *) (long) NewsCount;
return MOD_CONT;
}
diff --git a/src/core/os_opernews.c b/src/core/os_opernews.c
index 5748f8904..773d1b3f6 100644
--- a/src/core/os_opernews.c
+++ b/src/core/os_opernews.c
@@ -27,7 +27,6 @@ int AnopeInit(int argc, char **argv)
{
Command *c;
EvtHook *hook;
- char buf[BUFSIZE];
moduleAddAuthor("Anope");
moduleAddVersion(VERSION_STRING);
@@ -39,8 +38,7 @@ int AnopeInit(int argc, char **argv)
**/
c = createCommand("OPERNEWS", do_opernews, is_services_admin,
NEWS_HELP_OPER, -1, -1, -1, -1);
- snprintf(buf, BUFSIZE, "%d", NewsCount),
- c->help_param1 = sstrdup(buf);
+ c->help_param1 = (char *) (long) NewsCount;
moduleAddCommand(OPERSERV, c, MOD_UNIQUE);
moduleSetOperHelp(myOperServHelp);
@@ -59,13 +57,6 @@ int AnopeInit(int argc, char **argv)
**/
void AnopeFini(void)
{
- Command *c = findCommand(OPERSERV, "OPERNEWS");
-
- if (c && c->help_param1)
- {
- free(c->help_param1);
- c->help_param1 = NULL;
- }
}
@@ -84,18 +75,11 @@ static void myOperServHelp(User * u)
* Upon /os reload refresh the count
**/
static int reload_config(int argc, char **argv) {
- char buf[BUFSIZE];
Command *c;
- if (argc >= 1) {
- if (!stricmp(argv[0], EVENT_START)) {
- if ((c = findCommand(OPERSERV, "OPERNEWS"))) {
- free(c->help_param1);
- snprintf(buf, BUFSIZE, "%d", NewsCount),
- c->help_param1 = sstrdup(buf);
- }
- }
- }
+ if (argc >= 1 && !stricmp(argv[0], EVENT_START))
+ if ((c = findCommand(OPERSERV, "OPERNEWS")))
+ c->help_param1 = (char *) (long) NewsCount;
return MOD_CONT;
}