summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-09-15 21:25:21 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-09-15 21:25:21 +0000
commit94d7827e8b101b528c427298fada73664970cf26 (patch)
tree6bf670f0088a4e8b16fdf3dd344838debe027bb3
parent9a1d63bd22de06c0ed153ff19bdaf7769184d73d (diff)
Fix null ExtensionItem when unregistering hooks; fix CORE_FLAGS on darwin
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11729 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--.Makefile.inc2
-rwxr-xr-xconfigure2
-rw-r--r--src/base.cpp4
3 files changed, 5 insertions, 3 deletions
diff --git a/.Makefile.inc b/.Makefile.inc
index f0ea08214..6b8d7274f 100644
--- a/.Makefile.inc
+++ b/.Makefile.inc
@@ -39,7 +39,7 @@ INSTMODE = 0755
CXXFLAGS += -DDARWIN -frtti
LDLIBS += -ldl
SHARED = -bundle -twolevel_namespace -undefined dynamic_lookup
- CORE_FLAGS = -dynamic -bind_at_load -L.
+ CORELDFLAGS = -dynamic -bind_at_load -L.
@ENDIF
@IFDEF D
diff --git a/configure b/configure
index dfdb43d7d..efa957c82 100755
--- a/configure
+++ b/configure
@@ -1077,7 +1077,7 @@ EOF
print "Writing \e[1;32m$file\e[0m ...\n";
for my $var (qw(
CC SYSTEM BASE_DIR CONFIG_DIR MODULE_DIR BINARY_DIR
- STARTSCRIPT DESTINATION EXTRA_DIR SOCKETENGINE CORE_FLAGS
+ STARTSCRIPT DESTINATION EXTRA_DIR SOCKETENGINE
)) {
s/\@$var\@/$config{$var}/g;
}
diff --git a/src/base.cpp b/src/base.cpp
index 1e4f746af..aac66fd3f 100644
--- a/src/base.cpp
+++ b/src/base.cpp
@@ -137,9 +137,11 @@ Extensible::~Extensible()
{
for(ExtensibleStore::iterator i = extensions.begin(); i != extensions.end(); ++i)
{
- ExtensionItem* type = extension_types[i->first];
+ ExtensionItem* type = GetItem(i->first);
if (type)
type->free(i->second);
+ else if (ServerInstance && ServerInstance->Logs)
+ ServerInstance->Logs->Log("BASE", ERROR, "Extension type %s is not registered", i->first.c_str());
}
}