]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - extensions/m_okick.c
Allow /ojoin !#channel/%#channel, if admin/halfop are enabled.
[irc/rqf/shadowircd.git] / extensions / m_okick.c
index 1e28976abda0cfa6bdc38d3b61d8dc8a5436cbd2..c09c42a074f150be1447ee9c113b663415437cd0 100644 (file)
@@ -68,8 +68,8 @@ mo_okick(struct Client *client_p, struct Client *source_p, int parc, const char
        char *name;
        char *p = NULL;
        char *user;
+       char *text = rb_strdup("");
        static char buf[BUFSIZE];
-       char *text;
 
        if(*parv[2] == '\0')
        {
@@ -138,10 +138,10 @@ mo_okick(struct Client *client_p, struct Client *source_p, int parc, const char
                      ":%s KICK %s %s :%s", me.id, chptr->chname, who->id, comment);
        remove_user_from_channel(msptr);
 
-       rb_sprintf(text, "K%s",who->name);
+       rb_sprintf(text, "K%s", who->id);
 
        /* we don't need to track NOREJOIN stuff unless it's our client being kicked */
-       if(MyClient(target_p) && chptr->mode.mode & MODE_NOREJOIN)
-               channel_metadata_time_add(chptr, text, rb_current_time());
+       if(MyClient(who) && chptr->mode.mode & MODE_NOREJOIN)
+               channel_metadata_time_add(chptr, text, rb_current_time(), "KICKNOREJOIN");
        return 0;
 }