]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Blah
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Mon, 11 Apr 2005 20:20:36 +0000 (20:20 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Mon, 11 Apr 2005 20:20:36 +0000 (20:20 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1053 e03df62e-2008-0410-955e-edbf42e46eb7

src/inspircd.cpp

index 057291a844b5557e845f246d71cf767ae45d86e6..83b72cba54459afcbc6b0cddc1a5377ad9e1bc7d 100644 (file)
@@ -3424,6 +3424,7 @@ bool UnloadModule(const char* filename)
                                if (*t == NULL)
                                {
                                        factory.erase(t);
+                                       factory.push_back(NULL);
                                        break;
                                }
                        }
@@ -3442,6 +3443,7 @@ bool UnloadModule(const char* filename)
                                if (*m == NULL)
                                {
                                        modules.erase(m);
+                                       modules.push_back(NULL);
                                        break;
                                }
                        }
@@ -3519,31 +3521,15 @@ bool LoadModule(const char* filename)
                                return false;
                        }
                }
-               bool extended = false;
-               while (factory.size() <= MODCOUNT+1)
-               {
-                       factory.push_back(NULL);        // make an empty space
-                       log(DEFAULT,"Extending factory[]");
-                       bool extended = true;
-               }
                ircd_module* a = new ircd_module(modfile);
                 factory[MODCOUNT+1] = a;
                 if (factory[MODCOUNT+1]->LastError())
                 {
                         log(DEFAULT,"Unable to load %s: %s",modfile,factory[MODCOUNT+1]->LastError());
                        snprintf(MODERR,MAXBUF,"Loader/Linker error: %s",factory[MODCOUNT+1]->LastError());
-                       if (extended)
-                               factory.erase(factory.end());
                        MODCOUNT--;
                        return false;
                 }
-                bool mextended = false;
-                while (modules.size() <= MODCOUNT+1)
-                {
-                        modules.push_back(NULL);
-                        log(DEFAULT,"Extending modules[]");
-                        bool mextended = true;
-                }
                 if (factory[MODCOUNT+1]->factory)
                 {
                        Module* m = factory[MODCOUNT+1]->factory->CreateModule();
@@ -3556,10 +3542,6 @@ bool LoadModule(const char* filename)
                 {
                         log(DEFAULT,"Unable to load %s",modfile);
                        snprintf(MODERR,MAXBUF,"Factory function failed!");
-                        if (extended)
-                                factory.erase(factory.end());
-                        if (mextended)
-                                modules.erase(modules.end());
                        return false;
                 }
         }