]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_chanprotect.cpp
Convert more modules
[user/henk/code/inspircd.git] / src / modules / m_chanprotect.cpp
index 81cf34c0c4e0b5d8f69e9334e5457468012a5513..93bde94615ee15f11121f426470885ce0723db4b 100644 (file)
  * ---------------------------------------------------
  */
 
+#include "inspircd.h"
 #include "users.h"
 #include "channels.h"
 #include "modules.h"
-#include "inspircd.h"
 
 /* $ModDesc: Provides channel modes +a and +q */
 /* $ModDep: ../../include/u_listmode.h */
@@ -80,7 +80,7 @@ class FounderProtectBase
                unload_kludge = true;
                CUList* cl = channel->GetUsers();
                std::string item = extend + std::string(channel->name);
-               const char* mode_junk[MAXMODES+1];
+               const char* mode_junk[MAXMODES+2];
                userrec* n = new userrec(MyInstance);
                n->SetFd(FD_MAGIC_NUMBER);
                mode_junk[0] = channel->name;
@@ -107,11 +107,11 @@ class FounderProtectBase
                unload_kludge = false;
        }
 
-        void DisplayList(userrec* user, chanrec* channel)
+       void DisplayList(userrec* user, chanrec* channel)
        {
                CUList* cl = channel->GetUsers();
                std::string item = extend+std::string(channel->name);
-               for (CUList::iterator i = cl->begin(); i != cl->end(); i++)
+               for (CUList::reverse_iterator i = cl->rbegin(); i != cl->rend(); ++i)
                {
                        if (i->first->GetExt(item, dummyptr))
                        {
@@ -126,7 +126,7 @@ class FounderProtectBase
                userrec* theuser = MyInstance->FindNick(parameter);
                if ((!theuser) || (!channel->HasUser(theuser)))
                {
-                       parameter = "";
+                       parameter.clear();
                        return NULL;
                }
                return theuser;
@@ -215,7 +215,7 @@ class ChanFounder : public ModeHandler, public FounderProtectBase
                {
                        // whoops, someones being naughty!
                        source->WriteServ("468 %s %s :Only servers may set channel mode +q",source->nick, channel->name);
-                       parameter = "";
+                       parameter.clear();
                        return MODEACTION_DENY;
                }
        }
@@ -303,7 +303,7 @@ class ModuleChanProtect : public Module
  public:
  
        ModuleChanProtect(InspIRCd* Me)
-               : Module::Module(Me), FirstInGetsFounder(false), QAPrefixes(false), DeprivSelf(false), DeprivOthers(false), booting(true)
+               : Module(Me), FirstInGetsFounder(false), QAPrefixes(false), DeprivSelf(false), DeprivOthers(false), booting(true)
        {       
                /* Load config stuff */
                OnRehash(NULL,"");
@@ -548,7 +548,7 @@ class ModuleChanProtectFactory : public ModuleFactory
 };
 
 
-extern "C" void * init_module( void )
+extern "C" DllExport void * init_module( void )
 {
        return new ModuleChanProtectFactory;
 }