diff options
-rw-r--r-- | src/core/os_logonnews.c | 19 | ||||
-rw-r--r-- | src/core/os_opernews.c | 20 | ||||
-rw-r--r-- | version.log | 3 |
3 files changed, 29 insertions, 13 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); + } } } diff --git a/version.log b/version.log index 042409e4d..23516c1ee 100644 --- a/version.log +++ b/version.log @@ -9,9 +9,10 @@ VERSION_MAJOR="1" VERSION_MINOR="8" VERSION_PATCH="4" VERSION_EXTRA="-svn" -VERSION_BUILD="2981" +VERSION_BUILD="2991" # $Log$ # Changes since the 1.8.4 Release +#Revision 2991 - Fixed a crash on shutdown when running Anope on Mac #Revision 2981 - Fixed SQUITing juped servers on InspIRCd 1.2 #Revision 2978 - Added param to EVENT_CHANGE_NICK for old nickname #Revision 2976 - Added internal events called when nick is ghosted and when nick is recovered |