]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_inviteexception.cpp
I dont know who said we keep going when we get a match, because thats just silly...
[user/henk/code/inspircd.git] / src / modules / m_inviteexception.cpp
index a592f6cddc4ed2ba0dabac4486df69470a347f1c..a310697919ce9c86ba8970d7688d613b8b06169b 100644 (file)
@@ -34,7 +34,7 @@ class InspIRCd* ServerInstance;
 class InviteException : public ListModeBase
 {
  public:
-       InviteException(InspIRCd* Instance) : ListModeBase(Instance, 'I', "End of Channel Invite Exception List", "346", "347", true) { }
+       InviteException(InspIRCd* Instance) : ListModeBase(Instance, 'I', "End of Channel Invite Exception List", 346, 347, true) { }
 };
 
 class ModuleInviteException : public Module
@@ -66,11 +66,10 @@ public:
                        chan->GetExt(ie->GetInfoKey(), list);
                        if (list)
                        {
-                               char mask[MAXBUF];
-                               snprintf(mask, MAXBUF, "%s!%s@%s", user->nick, user->ident, user->GetIPString());
+                               std::string mask = std::string(user->nick) + "!" + user->ident + "@" + user->GetIPString();
                                for (modelist::iterator it = list->begin(); it != list->end(); it++)
                                {
-                                       if(match(user->GetFullRealHost(), it->mask.c_str()) || match(user->GetFullHost(), it->mask.c_str()) || (match(mask, it->mask.c_str(), true)))
+                                       if(match(user->GetFullRealHost(), it->mask) || match(user->GetFullHost(), it->mask) || (match(mask, it->mask, true)))
                                        {
                                                // They match an entry on the list, so let them in.
                                                return 1;
@@ -83,7 +82,7 @@ public:
                return 0;               
        }
 
-       virtual char* OnRequest(Request* request)
+       virtual const char* OnRequest(Request* request)
        {
                ListModeRequest* LM = (ListModeRequest*)request;
                if (strcmp("LM_CHECKLIST", request->GetId()) == 0)
@@ -92,11 +91,10 @@ public:
                        LM->chan->GetExt(ie->GetInfoKey(), list);
                        if (list)
                        {
-                               char mask[MAXBUF];
-                               snprintf(mask, MAXBUF, "%s!%s@%s", LM->user->nick, LM->user->ident, LM->user->GetIPString());
+                               std::string mask = std::string(LM->user->nick) + "!" + LM->user->ident + "@" + LM->user->GetIPString();
                                for (modelist::iterator it = list->begin(); it != list->end(); it++)
                                {
-                                       if (match(LM->user->GetFullRealHost(), it->mask.c_str()) || match(LM->user->GetFullHost(), it->mask.c_str()) || (match(mask, it->mask.c_str(), true)))
+                                       if (match(LM->user->GetFullRealHost(), it->mask) || match(LM->user->GetFullHost(), it->mask.c_str()) || (match(mask, it->mask, true)))
                                        {
                                                // They match an entry
                                                return (char*)it->mask.c_str();
@@ -130,7 +128,7 @@ public:
                
        virtual Version GetVersion()
        {
-               return Version(1, 1, 0, 3, VF_VENDOR | VF_COMMON, API_VERSION);
+               return Version(1, 2, 0, 3, VF_VENDOR | VF_COMMON, API_VERSION);
        }
 
        ~ModuleInviteException()