diff options
author | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-09-15 21:25:21 +0000 |
---|---|---|
committer | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-09-15 21:25:21 +0000 |
commit | 94d7827e8b101b528c427298fada73664970cf26 (patch) | |
tree | 6bf670f0088a4e8b16fdf3dd344838debe027bb3 | |
parent | 9a1d63bd22de06c0ed153ff19bdaf7769184d73d (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.inc | 2 | ||||
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | src/base.cpp | 4 |
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 @@ -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()); } } |