]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_uninvite.cpp
Improved strhashcomp with no allocations
[user/henk/code/inspircd.git] / src / modules / m_uninvite.cpp
index fc289bd829b4c913559a4a82587029ae2cf09953..dbd3af52f7e27624160d230ab99c0b618c3e9c3f 100644 (file)
@@ -25,7 +25,7 @@ using namespace std;
 #include "helperfuncs.h"
 #include "message.h"
 
-Server *Srv;
+static Server *Srv;
         
 class cmd_uninvite : public command_t
 {
@@ -70,14 +70,15 @@ class cmd_uninvite : public command_t
                         WriteServ(user->fd,"491 %s %s %s :Is not invited to channel %s",user->nick,u->nick,c->name,c->name);
                         return;
                 }
-                if (has_channel(user,c))
+                if (!c->HasUser(user))
                 {
                         WriteServ(user->fd,"492 %s %s :You're not on that channel!",user->nick, c->name);
                         return;
                 }
 
                 u->RemoveInvite(xname);
-                WriteServ(user->fd,"NOTICE %s :*** Uninvited %s from %s",user->nick,u->nick,c->name);
+                WriteServ(user->fd,"494 %s %s %s :Uninvited",user->nick,c->name,u->nick);
+               WriteServ(u->fd,"493 %s :You were uninvited from %s by %s",u->nick,c->name,user->nick);
                 WriteChannel(c,user,"NOTICE %s :*** %s uninvited %s.",c->name,user->nick,u->nick);
         }
 };
@@ -101,7 +102,8 @@ class ModuleUninvite : public Module
        
        virtual Version GetVersion()
        {
-               return Version(1, 0, 0, 0, VF_VENDOR);
+               /* Must be static, because we dont want to desync invite lists */
+               return Version(1, 0, 0, 0, VF_VENDOR|VF_STATIC);
        }
 };