summaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-04-07 17:59:33 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-04-07 17:59:33 +0000
commitec7fc489a14af54738da17a94b162a9606df4756 (patch)
tree6ea2da2cacdf919581ad20ca4ce40e94cc02235b /src/inspircd.cpp
parent9fc9227cf51585dd2e44c2fcd0014c8da8f8739f (diff)
Tons of module versionflags stuff, and checks for it in /UNLOADMODULE
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1001 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r--src/inspircd.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index f0d007cb9..dd1be77d9 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -3269,6 +3269,12 @@ bool UnloadModule(const char* filename)
{
if (module_names[j] == std::string(filename))
{
+ if (factory[j]->factory->GetVersion().Flags & VF_STATIC)
+ {
+ log(DEFAULT,"Failed to unload STATIC module %s",filename);
+ snprintf(MODERR,MAXBUF,"Module not unloadable (marked static)");
+ return false;
+ }
// found the module
log(DEBUG,"Deleting module...");
delete factory[j]->factory;