X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/446c7d4f57100bfe963b36f56117545f7804c3d6..2498a1b577ac3901abbff2612d3647f8aef038b7:/modules/core/m_kick.c diff --git a/modules/core/m_kick.c b/modules/core/m_kick.c index 77b58f6..3029ca6 100644 --- a/modules/core/m_kick.c +++ b/modules/core/m_kick.c @@ -68,7 +68,7 @@ m_kick(struct Client *client_p, struct Client *source_p, int parc, const char *p char *comment; const char *name; char *p = NULL; - char *text = rb_strdup(""); + char text[10]; const char *user; static char buf[BUFSIZE]; int is_override = 0; @@ -235,6 +235,11 @@ m_kick(struct Client *client_p, struct Client *source_p, int parc, const char *p use_id(source_p), chptr->chname, use_id(who), comment); remove_user_from_channel(msptr); + rb_snprintf(text, sizeof(text), "K%s", who->id); + + /* we don't need to track NOREJOIN stuff unless it's our client being kicked */ + if(MyClient(who) && chptr->mode.mode & MODE_NOREJOIN) + channel_metadata_time_add(chptr, text, rb_current_time(), "KICKNOREJOIN"); } else if (MyClient(source_p)) sendto_one_numeric(source_p, ERR_USERNOTINCHANNEL,