]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_joinflood.cpp
Fix crash on propogation after routed squit has reached it's destination. Thx HiroP.
[user/henk/code/inspircd.git] / src / modules / m_joinflood.cpp
index 358f3e08c768bab1101a32df652226c107eb8cf5..b5cf0c02cab8cdd43659233dde5514cb784dbe9c 100644 (file)
  * ---------------------------------------------------
  */
 
-#include <stdio.h>
-#include <map>
+#include "inspircd.h"
 #include "users.h"
 #include "channels.h"
 #include "modules.h"
-#include "configreader.h"
-#include "inspircd.h"
 
 /* $ModDesc: Provides channel mode +j (join flood protection) */
 
@@ -33,8 +30,8 @@ class joinfloodsettings : public classbase
        time_t unlocktime;
        int counter;
        bool locked;
-    InspIRCd* ServerInstance;
-    
+       InspIRCd* ServerInstance;
+
        joinfloodsettings() : secs(0), joins(0) {};
 
        joinfloodsettings(int b, int c) : secs(b), joins(c)
@@ -96,16 +93,16 @@ class JoinFlood : public ModeHandler
  public:
        JoinFlood(InspIRCd* Instance) : ModeHandler(Instance, 'j', 1, 0, false, MODETYPE_CHANNEL, false) { }
 
-        ModePair ModeSet(userrec* source, userrec* dest, chanrec* channel, const std::string &parameter)
-        {
-                joinfloodsettings* x;
-                if (channel->GetExt("joinflood",x))
-                        return std::make_pair(true, ConvToStr(x->joins)+":"+ConvToStr(x->secs));
-                else
-                        return std::make_pair(false, parameter);
-        
+       ModePair ModeSet(userrec* source, userrec* dest, chanrec* channel, const std::string &parameter)
+       {
+               joinfloodsettings* x;
+               if (channel->GetExt("joinflood",x))
+                       return std::make_pair(true, ConvToStr(x->joins)+":"+ConvToStr(x->secs));
+               else
+                       return std::make_pair(false, parameter);
+       } 
 
-        bool CheckTimeStamp(time_t theirs, time_t ours, const std::string &their_param, const std::string &our_param, chanrec* channel)
+       bool CheckTimeStamp(time_t theirs, time_t ours, const std::string &their_param, const std::string &our_param, chanrec* channel)
        {
                /* When TS is equal, the alphabetically later one wins */
                return (their_param < our_param);
@@ -142,7 +139,7 @@ class JoinFlood : public ModeHandler
                                if ((njoins<1) || (nsecs<1))
                                {
                                        source->WriteServ("608 %s %s :Invalid flood parameter",source->nick,channel->name);
-                                       parameter = "";
+                                       parameter.clear();
                                        return MODEACTION_DENY;
                                }
                                else
@@ -218,7 +215,7 @@ class ModuleJoinFlood : public Module
  public:
  
        ModuleJoinFlood(InspIRCd* Me)
-               : Module::Module(Me)
+               : Module(Me)
        {
                
                jf = new JoinFlood(ServerInstance);
@@ -305,7 +302,7 @@ class ModuleJoinFloodFactory : public ModuleFactory
 };
 
 
-extern "C" void * init_module( void )
+extern "C" DllExport void * init_module( void )
 {
        return new ModuleJoinFloodFactory;
 }