]> jfr.im git - solanum.git/blobdiff - extensions/m_okick.c
msg: remove last vestiges of the fakelag system. charybdis has never supported fakelag.
[solanum.git] / extensions / m_okick.c
index 8fd76437d63e42289fbdcb94f1526da3ad50a65f..fd4eba51756450d3237532f0f28d76d1e9019b30 100644 (file)
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_okick.c 3117 2007-01-02 13:11:04Z jilles $
+ *  $Id: m_okick.c 3554 2007-08-10 22:31:14Z jilles $
  */
 
 #include "stdinc.h"
-#include "tools.h"
 #include "channel.h"
 #include "client.h"
-#include "irc_string.h"
+#include "match.h"
 #include "ircd.h"
 #include "numeric.h"
 #include "send.h"
 #include "packet.h"
 #include "s_conf.h"
 #include "s_serv.h"
+#include "messages.h"
+#include "logger.h"
 
-static int mo_okick(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
+static int mo_okick(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
 
 
 struct Message okick_msgtab = {
-       "OKICK", 0, 0, 0, MFLG_SLOW,
+       "OKICK", 0, 0, 0, 0,
        {mg_unreg, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_okick, 4}}
 };
 
 mapi_clist_av1 okick_clist[] = { &okick_msgtab, NULL };
 
-DECLARE_MODULE_AV1(okick, NULL, NULL, okick_clist, NULL, NULL, "$Revision: 3117 $");
+DECLARE_MODULE_AV1(okick, NULL, NULL, okick_clist, NULL, NULL, "$Revision: 3554 $");
 
 /*
 ** m_okick
-**      parv[0] = sender prefix
 **      parv[1] = channel
 **      parv[2] = client to kick
 **      parv[3] = kick comment
 */
 static int
-mo_okick(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
+mo_okick(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
 {
        struct Client *who;
        struct Client *target_p;
@@ -74,7 +74,7 @@ mo_okick(struct Client *client_p, struct Client *source_p, int parc, const char
 
        if(*parv[2] == '\0')
        {
-               sendto_one(source_p, form_str(ERR_NEEDMOREPARAMS), me.name, parv[0], "KICK");
+               sendto_one(source_p, form_str(ERR_NEEDMOREPARAMS), me.name, source_p->name, "KICK");
                return 0;
        }
 
@@ -101,7 +101,7 @@ mo_okick(struct Client *client_p, struct Client *source_p, int parc, const char
 
        if((p = strchr(parv[2], ',')))
                *p = '\0';
-       user = LOCAL_COPY(parv[2]);     // strtoken(&p2, parv[2], ","); 
+       user = LOCAL_COPY(parv[2]);     // strtoken(&p2, parv[2], ",");
        if(!(who = find_chasing(source_p, user, &chasing)))
        {
                return 0;
@@ -109,14 +109,13 @@ mo_okick(struct Client *client_p, struct Client *source_p, int parc, const char
 
        if((target_p = find_client(user)) == NULL)
        {
-               sendto_one(source_p, form_str(ERR_NOSUCHNICK), me.name, parv[0], user);
+               sendto_one(source_p, form_str(ERR_NOSUCHNICK), user);
                return 0;
        }
 
        if((msptr = find_channel_membership(chptr, target_p)) == NULL)
        {
-               sendto_one(source_p, form_str(ERR_USERNOTINCHANNEL),
-                          me.name, parv[0], parv[1], parv[2]);
+               sendto_one(source_p, form_str(ERR_USERNOTINCHANNEL), parv[1], parv[2]);
                return 0;
        }
 
@@ -135,8 +134,8 @@ mo_okick(struct Client *client_p, struct Client *source_p, int parc, const char
 
        sendto_channel_local(ALL_MEMBERS, chptr, ":%s KICK %s %s :%s",
                             me.name, chptr->chname, who->name, comment);
-       sendto_server(&me, chptr, NOCAPS, NOCAPS,
-                     ":%s KICK %s %s :%s", me.name, chptr->chname, who->name, comment);
+       sendto_server(&me, chptr, CAP_TS6, NOCAPS,
+                     ":%s KICK %s %s :%s", me.id, chptr->chname, who->id, comment);
        remove_user_from_channel(msptr);
        return 0;
 }