summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/os_logonnews.c19
-rw-r--r--src/core/os_opernews.c20
-rw-r--r--version.log3
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