Author: Ghostwolf <foxxe@wtfs.net>
[ircu2.10.12-pk.git] / ircd / m_kick.c
index 4703216fd25b302775c27496d4c10e32bb4dcaba..51c848e6e4aad693ddea4f635a4b1e3f5ca4c45e 100644 (file)
  *            note:   it is guaranteed that parv[0]..parv[parc-1] are all
  *                    non-NULL pointers.
  */
-#if 0
-/*
- * No need to include handlers.h here the signatures must match
- * and we don't need to force a rebuild of all the handlers everytime
- * we add a new one to the list. --Bleep
- */
-#include "handlers.h"
-#endif /* 0 */
+#include "config.h"
+
 #include "channel.h"
 #include "client.h"
 #include "hash.h"
@@ -136,11 +130,9 @@ int m_kick(struct Client *cptr, struct Client *sptr, int parc, char *parv[])
   if (IsChannelService(who))
     return send_reply(sptr, ERR_ISCHANSERVICE, cli_name(who), chptr->chname);
 
-#ifdef NO_OPER_DEOP_LCHAN
   /* Prevent kicking opers from local channels -DM- */
-  if (IsOperOnLocalChannel(who, chptr->chname))
+  if (IsLocalChannel(chptr->chname) && HasPriv(who, PRIV_DEOP_LCHAN))
     return send_reply(sptr, ERR_ISOPERLCHAN, cli_name(who), chptr->chname);
-#endif
 
   /* check if kicked user is actually on the channel */
   if (!(member = find_member_link(chptr, who)) || IsZombie(member))
@@ -153,7 +145,7 @@ int m_kick(struct Client *cptr, struct Client *sptr, int parc, char *parv[])
     sendcmdto_serv_butone(sptr, CMD_KICK, cptr, "%H %C :%s", chptr, who,
                          comment);
 
-  sendcmdto_channel_butserv(sptr, CMD_KICK, chptr, "%H %C :%s", chptr, who,
+  sendcmdto_channel_butserv_butone(sptr, CMD_KICK, chptr, NULL, "%H %C :%s", chptr, who,
                            comment);
 
   make_zombie(member, who, cptr, sptr, chptr);
@@ -232,7 +224,7 @@ int ms_kick(struct Client *cptr, struct Client *sptr, int parc, char *parv[])
                          comment);
 
     if (member) { /* and tell the channel about it */
-      sendcmdto_channel_butserv(sptr, CMD_KICK, chptr, "%H %C :%s", chptr, who,
+      sendcmdto_channel_butserv_butone(sptr, CMD_KICK, chptr, NULL, "%H %C :%s", chptr, who,
                                comment);
 
       make_zombie(member, who, cptr, sptr, chptr);