- Channel_Kick( target, from, Req->argv[0], Req->argc == 3 ? Req->argv[2] : Client_ID( from ));
- return CONNECTED;
-} /* IRC_KICK */
+ itemList = Req->argv[1];
+ while (*itemList) {
+ if (*itemList == ',') {
+ *itemList = '\0';
+ nickCount++;
+ }
+ itemList++;
+ }
+
+ reason = Req->argc == 3 ? Req->argv[2] : Client_ID(from);
+ currentNick = Req->argv[1];
+ currentChannel = Req->argv[0];
+ if (channelCount == 1) {
+ while (nickCount > 0) {
+ if (!try_kick(Client, from, currentNick,
+ currentChannel, reason))
+ return false;
+
+ while (*currentNick)
+ currentNick++;
+
+ currentNick++;
+ nickCount--;
+ }
+ } else if (channelCount == nickCount) {
+ while (nickCount > 0) {
+ if (!try_kick(Client, from, currentNick,
+ currentChannel, reason))
+ return false;