diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/os_logonnews.c | 19 | ||||
-rw-r--r-- | src/core/os_opernews.c | 20 |
2 files changed, 27 insertions, 12 deletions
diff --git a/src/core/os_logonnews.c b/src/core/os_logonnews.c index 60d101650..1880612c4 100644 --- a/src/core/os_logonnews.c +++ b/src/core/os_logonnews.c @@ -15,8 +15,6 @@ #include "module.h" -Command *c; - void myOperServHelp(User * u); int load_config(void); int reload_config(int argc, char **argv); @@ -29,6 +27,7 @@ int reload_config(int argc, char **argv); **/ int AnopeInit(int argc, char **argv) { + Command *c; EvtHook *hook; char buf[BUFSIZE]; @@ -62,7 +61,12 @@ int AnopeInit(int argc, char **argv) **/ void AnopeFini(void) { - free(c->help_param1); + Command *c = findCommand(OPERSERV, "LOGONNEWS"); + if (c && c->help_param1) + { + free(c->help_param1); + c->help_param1 = NULL; + } } @@ -83,12 +87,15 @@ void myOperServHelp(User * u) **/ int reload_config(int argc, char **argv) { char buf[BUFSIZE]; + Command *c; if (argc >= 1) { if (!stricmp(argv[0], EVENT_START)) { - free(c->help_param1); - snprintf(buf, BUFSIZE, "%d", NewsCount), - c->help_param1 = sstrdup(buf); + if ((c = findCommand(OPERSERV, "LOGONNEWS"))) { + free(c->help_param1); + snprintf(buf, BUFSIZE, "%d", NewsCount), + c->help_param1 = sstrdup(buf); + } } } diff --git a/src/core/os_opernews.c b/src/core/os_opernews.c index f64d95d9d..648d4f354 100644 --- a/src/core/os_opernews.c +++ b/src/core/os_opernews.c @@ -15,8 +15,6 @@ #include "module.h" -Command *c; - void myOperServHelp(User * u); int load_config(void); int reload_config(int argc, char **argv); @@ -29,6 +27,7 @@ int reload_config(int argc, char **argv); **/ int AnopeInit(int argc, char **argv) { + Command *c; EvtHook *hook; char buf[BUFSIZE]; @@ -62,7 +61,13 @@ int AnopeInit(int argc, char **argv) **/ void AnopeFini(void) { - free(c->help_param1); + Command *c = findCommand(OPERSERV, "OPERNEWS"); + + if (c && c->help_param1) + { + free(c->help_param1); + c->help_param1 = NULL; + } } @@ -82,12 +87,15 @@ void myOperServHelp(User * u) **/ int reload_config(int argc, char **argv) { char buf[BUFSIZE]; + Command *c; if (argc >= 1) { if (!stricmp(argv[0], EVENT_START)) { - free(c->help_param1); - snprintf(buf, BUFSIZE, "%d", NewsCount), - c->help_param1 = sstrdup(buf); + if ((c = findCommand(OPERSERV, "OPERNEWS"))) { + free(c->help_param1); + snprintf(buf, BUFSIZE, "%d", NewsCount), + c->help_param1 = sstrdup(buf); + } } } |