flemme de fou kick topic wallops start name
This commit is contained in:
parent
68466e609a
commit
da5580b615
3
Makefile
3
Makefile
@ -6,7 +6,7 @@
|
|||||||
# By: apommier <apommier@student.42.fr> +#+ +:+ +#+ #
|
# By: apommier <apommier@student.42.fr> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2022/12/01 17:27:29 by apommier #+# #+# #
|
# Created: 2022/12/01 17:27:29 by apommier #+# #+# #
|
||||||
# Updated: 2023/02/16 18:21:46 by apommier ### ########.fr #
|
# Updated: 2023/02/17 16:02:14 by apommier ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
@ -47,6 +47,7 @@ SRCS := main.cpp\
|
|||||||
commands/operator/squit.cpp\
|
commands/operator/squit.cpp\
|
||||||
commands/operator/oper.cpp\
|
commands/operator/oper.cpp\
|
||||||
commands/operator/kill.cpp\
|
commands/operator/kill.cpp\
|
||||||
|
commands/operator/wallops.cpp\
|
||||||
\
|
\
|
||||||
commands/not_done_cmd.cpp #special (temporary)
|
commands/not_done_cmd.cpp #special (temporary)
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/12/01 17:27:37 by apommier #+# #+# */
|
/* Created: 2022/12/01 17:27:37 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/16 23:01:17 by apommier ### ########.fr */
|
/* Updated: 2023/02/17 21:56:13 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -132,6 +132,7 @@ struct channelData //each chan have one
|
|||||||
|
|
||||||
std::vector<clientData *> userList;
|
std::vector<clientData *> userList;
|
||||||
std::vector<clientData *> banList;
|
std::vector<clientData *> banList;
|
||||||
|
//std::vector<clientData *> invitedList;
|
||||||
std::vector<clientData *> opList;
|
std::vector<clientData *> opList;
|
||||||
|
|
||||||
chanMode mode;
|
chanMode mode;
|
||||||
@ -169,6 +170,7 @@ struct fdList //&allFds in code | /!\ only one on the server | REFERENCE ONLY
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
void del_user_in_chan(clientData *user, channelData *chan);
|
void del_user_in_chan(clientData *user, channelData *chan);
|
||||||
|
void del_chan_in_user(clientData *user, channelData *chan);
|
||||||
void delete_user(fdList &allFds, int userNbr);
|
void delete_user(fdList &allFds, int userNbr);
|
||||||
|
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/09 17:21:57 by apommier #+# #+# */
|
/* Created: 2023/02/09 17:21:57 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/16 22:52:31 by apommier ### ########.fr */
|
/* Updated: 2023/02/16 23:26:08 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -17,6 +17,8 @@ int is_chan_op(fdList &allFds, channelData *chanName, int userNbr)
|
|||||||
std::vector<clientData*>::iterator start = chanName->opList.begin();
|
std::vector<clientData*>::iterator start = chanName->opList.begin();
|
||||||
std::vector<clientData*>::iterator pastEnd = chanName->opList.end();
|
std::vector<clientData*>::iterator pastEnd = chanName->opList.end();
|
||||||
//std::cout << "name1= ---" << chanName << "---\n";
|
//std::cout << "name1= ---" << chanName << "---\n";
|
||||||
|
if (allFds.userData[userNbr].op)
|
||||||
|
return (1);
|
||||||
while (start != pastEnd)
|
while (start != pastEnd)
|
||||||
{
|
{
|
||||||
//std::cout << "result in find chan = " << pastEnd - start << std::endl;
|
//std::cout << "result in find chan = " << pastEnd - start << std::endl;
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/09 15:40:33 by apommier #+# #+# */
|
/* Created: 2023/02/09 15:40:33 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/16 18:47:49 by apommier ### ########.fr */
|
/* Updated: 2023/02/16 23:47:14 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -91,7 +91,8 @@ void join_or_create(std::string buffer, fdList &allFds, int userNbr)
|
|||||||
{
|
{
|
||||||
std::cout << "new chan\n";
|
std::cout << "new chan\n";
|
||||||
channelData new_chan;
|
channelData new_chan;
|
||||||
|
if (splitBuff[1][0] != '#' && splitBuff[1][0] != '&')
|
||||||
|
cmd_error(allFds, allFds.userData[userNbr].fd, "476 * " + splitBuff[1] + " :Bad Channel Mask\n");
|
||||||
new_chan.name = splitBuff[1];
|
new_chan.name = splitBuff[1];
|
||||||
new_chan.nbrUser = 1;
|
new_chan.nbrUser = 1;
|
||||||
new_chan.userList.push_back(&allFds.userData[userNbr]);
|
new_chan.userList.push_back(&allFds.userData[userNbr]);
|
||||||
|
|||||||
12
srcs/commands/channel/list.cpp
Normal file
12
srcs/commands/channel/list.cpp
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
/* ************************************************************************** */
|
||||||
|
/* */
|
||||||
|
/* ::: :::::::: */
|
||||||
|
/* list.cpp :+: :+: :+: */
|
||||||
|
/* +:+ +:+ +:+ */
|
||||||
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
|
/* +#+#+#+#+#+ +#+ */
|
||||||
|
/* Created: 2023/02/18 00:50:51 by apommier #+# #+# */
|
||||||
|
/* Updated: 2023/02/18 00:50:52 by apommier ### ########.fr */
|
||||||
|
/* */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/11 08:53:03 by apommier #+# #+# */
|
/* Created: 2023/02/11 08:53:03 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/15 15:18:38 by apommier ### ########.fr */
|
/* Updated: 2023/02/16 23:20:25 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -62,6 +62,11 @@ void send_msg(fdList &allFds, std::string msg, std::string dest, int userNbr)
|
|||||||
cmd_error(allFds, allFds.userData[userNbr].fd, "401 * PRIVMSG " + dest + " :No such nick/channel\n");
|
cmd_error(allFds, allFds.userData[userNbr].fd, "401 * PRIVMSG " + dest + " :No such nick/channel\n");
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
// if (allFds.channelList[pos].mode.m && !allFds.userData[userNbr].op && !is_chan_op(allFds, &allFds.channelList[pos], userNbr) && !allFds.channelList[pos].userMode[nbr].v)
|
||||||
|
// {
|
||||||
|
// cmd_error(allFds, allFds.userData[userNbr].fd, "404 * PRIVMSG " + dest + " :Cannot send to channel\n");
|
||||||
|
// return ;
|
||||||
|
// }
|
||||||
for (size_t i = 0; i < allFds.channelList[pos].userList.size(); i++)
|
for (size_t i = 0; i < allFds.channelList[pos].userList.size(); i++)
|
||||||
{
|
{
|
||||||
std::cout << "send nickname " << allFds.channelList[pos].userList[i]->nickname << std::endl;
|
std::cout << "send nickname " << allFds.channelList[pos].userList[i]->nickname << std::endl;
|
||||||
|
|||||||
@ -6,16 +6,66 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/11 19:19:32 by apommier #+# #+# */
|
/* Created: 2023/02/11 19:19:32 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/11 20:06:32 by apommier ### ########.fr */
|
/* Updated: 2023/02/17 21:54:06 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "../../../includes/ft_irc.hpp"
|
#include "../../../includes/ft_irc.hpp"
|
||||||
|
|
||||||
|
//Paramètres: <canal> <utilisateur> [<commentaire>]
|
||||||
|
|
||||||
void KICK(std::string buffer, fdList &allFds, int userNbr)
|
void KICK(std::string buffer, fdList &allFds, int userNbr)
|
||||||
{
|
{
|
||||||
(void)buffer;
|
std::vector<std::string> splitBuff;
|
||||||
(void)allFds;
|
std::string msg;
|
||||||
(void)userNbr;
|
int chanPos;
|
||||||
|
int userPos;
|
||||||
|
channelData chan;
|
||||||
|
|
||||||
|
split(buffer, ' ', splitBuff);
|
||||||
|
if (splitBuff.size() < 3)
|
||||||
|
{
|
||||||
|
cmd_error(allFds, allFds.userData[userNbr].fd, "431 * KICK :Not enought argument\n");
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((chanPos = find_channel(allFds, splitBuff[1])) == -1)
|
||||||
|
{
|
||||||
|
cmd_error(allFds, allFds.userData[userNbr].fd, "401 * KICK " + splitBuff[1] + " :No such nick/channel\n");
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
if (!allFds.userData[userNbr].op && is_joined(allFds, splitBuff[1], userNbr) == -1)
|
||||||
|
{
|
||||||
|
cmd_error(allFds, allFds.userData[userNbr].fd, "422 * " + splitBuff[1] + " :You're not on that channel\n");
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
if (chanPos != -1)
|
||||||
|
{
|
||||||
|
chan = allFds.channelList[chanPos];
|
||||||
|
if (!is_chan_op(allFds, &chan, userNbr) && !allFds.userData[userNbr].op)
|
||||||
|
cmd_error(allFds, allFds.userData[userNbr].fd, "482 * " + splitBuff[1] + " :You're not channel operator\n");
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
msg = ":" + allFds.userData[userNbr].nickname + " KICK " + chan.name + " " + splitBuff[2];
|
||||||
|
if (splitBuff.size() > 3)
|
||||||
|
msg += ": " + buffer.substr(splitBuff[0].size() + splitBuff[1].size() + splitBuff[2].size() + 1, std::string::npos);
|
||||||
|
if ((userPos = find_user(allFds, splitBuff[2])) == -1)
|
||||||
|
return ;
|
||||||
|
del_user_in_chan(&allFds.userData[userPos], &allFds.channelList[chanPos]);
|
||||||
|
del_chan_in_user(&allFds.userData[userPos], &allFds.channelList[chanPos]);
|
||||||
|
send(allFds.userData[userPos].fd, msg.c_str(), msg.size(), 0);
|
||||||
|
|
||||||
|
// else if (!allFds.userData[userNbr].op)
|
||||||
|
// {
|
||||||
|
// cmd_error(allFds, allFds.userData[userNbr].fd, "482 * " + splitBuff[1] + " :You're not channel operator\n");
|
||||||
|
// return ;
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/11 19:19:52 by apommier #+# #+# */
|
/* Created: 2023/02/11 19:19:52 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/11 20:05:50 by apommier ### ########.fr */
|
/* Updated: 2023/02/17 21:55:29 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -14,8 +14,39 @@
|
|||||||
|
|
||||||
void TOPIC(std::string buffer, fdList &allFds, int userNbr)
|
void TOPIC(std::string buffer, fdList &allFds, int userNbr)
|
||||||
{
|
{
|
||||||
(void)buffer;
|
channelData chan;
|
||||||
(void)allFds;
|
int chanNbr;
|
||||||
(void)userNbr;
|
std::vector<std::string> splitBuff;
|
||||||
|
|
||||||
|
split(buffer, ' ', splitBuff);
|
||||||
|
if (splitBuff.size() < 2)
|
||||||
|
{
|
||||||
|
cmd_error(allFds, allFds.userData[userNbr].fd, "461 * TOPIC :Not enough parameters\n");
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
if (is_joined(allFds, splitBuff[1], userNbr) == -1)
|
||||||
|
{
|
||||||
|
cmd_error(allFds, allFds.userData[userNbr].fd, "422 * " + splitBuff[1] + " :You're not on that channel\n");
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
if ((chanNbr = find_channel(allFds, splitBuff[1])) != -1)
|
||||||
|
{
|
||||||
|
chan = allFds.channelList[chanNbr];
|
||||||
|
if (!is_chan_op(allFds, &chan, userNbr) && !allFds.userData[userNbr].op)
|
||||||
|
cmd_error(allFds, allFds.userData[userNbr].fd, "482 * " + splitBuff[1] + " :You're not channel operator\n");
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
// else if (!allFds.userData[userNbr].op && !allFds.userData[userNbr].op)
|
||||||
|
// {
|
||||||
|
// cmd_error(allFds, allFds.userData[userNbr].fd, "482 * " + splitBuff[1] + " :You're not channel operator\n");
|
||||||
|
// return ;
|
||||||
|
// }
|
||||||
|
if (splitBuff.size() < 3)
|
||||||
|
std::cout << "PRINT TOPIC here\n";//RPL_NOTOPIC //RPL_TOPIC
|
||||||
|
else
|
||||||
|
{
|
||||||
|
allFds.channelList[chanNbr].topic = buffer.substr(6 + splitBuff[1].size() + 1, std::string::npos);
|
||||||
|
//RPL_TOPIC
|
||||||
|
}
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/11 19:04:47 by apommier #+# #+# */
|
/* Created: 2023/02/11 19:04:47 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/15 19:43:22 by apommier ### ########.fr */
|
/* Updated: 2023/02/17 20:38:40 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -41,6 +41,7 @@ void OPER(std::string buffer, fdList &allFds, int userNbr)
|
|||||||
// return ;
|
// return ;
|
||||||
// }
|
// }
|
||||||
allFds.userData[userNbr].op = 1;
|
allFds.userData[userNbr].op = 1;
|
||||||
|
allFds.userData[userNbr].mode.s = 1;
|
||||||
msg = "381 * " + allFds.userData[userNbr].nickname + " :You are now an IRC operator\n";
|
msg = "381 * " + allFds.userData[userNbr].nickname + " :You are now an IRC operator\n";
|
||||||
send(allFds.userData[userNbr].fd, msg.c_str(), msg.size(), 0);
|
send(allFds.userData[userNbr].fd, msg.c_str(), msg.size(), 0);
|
||||||
}
|
}
|
||||||
@ -6,8 +6,31 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/16 17:09:38 by apommier #+# #+# */
|
/* Created: 2023/02/16 17:09:38 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/16 17:09:45 by apommier ### ########.fr */
|
/* Updated: 2023/02/17 21:13:21 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "../../../includes/ft_irc.hpp"
|
#include "../../../includes/ft_irc.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
void WALLOPS(std::string buffer, fdList &allFds, int userNbr)
|
||||||
|
{
|
||||||
|
std::vector<std::string> splitBuff;
|
||||||
|
std::string msg;
|
||||||
|
|
||||||
|
//std::cout << "privmsg bufer= --" << buffer << std::endl;
|
||||||
|
split(buffer, ' ', splitBuff);
|
||||||
|
if (splitBuff.size() < 2)
|
||||||
|
{
|
||||||
|
cmd_error(allFds, allFds.userData[userNbr].fd, "431 * WALLOPS :Not enought argument\n");
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
msg = ":" + allFds.userData[userNbr].nickname + " WALLOPS :" + buffer.substr(splitBuff[1].size() + std::string::npos + 1) + "\n";
|
||||||
|
//msg = "PRIVMSG " + allFds.userData[userNbr].nickname + " " + buffer.substr(splitBuff[1].size() + std::string::npos + 1);
|
||||||
|
for (int i = 0; i < allFds.nbrUser; i++)
|
||||||
|
{
|
||||||
|
if (allFds.userData[i].op && allFds.userData[i].mode.s)
|
||||||
|
send(allFds.userData[i].fd, msg.c_str(), msg.size(), 0);
|
||||||
|
//PRIVMSG(msg, allFds, userNbr);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/16 18:14:15 by apommier #+# #+# */
|
/* Created: 2023/02/16 18:14:15 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/16 18:19:48 by apommier ### ########.fr */
|
/* Updated: 2023/02/18 00:51:24 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -17,5 +17,22 @@ void NAMES(std::string buffer, fdList &allFds, int userNbr)
|
|||||||
(void)buffer;
|
(void)buffer;
|
||||||
(void)allFds;
|
(void)allFds;
|
||||||
(void)userNbr;
|
(void)userNbr;
|
||||||
return ;
|
// std::vector<std::string> splitBuff;
|
||||||
|
// int pos;
|
||||||
|
|
||||||
|
// split(buffer, ' ', splitBuff);
|
||||||
|
// if (splitBuff.size() == 1 || splitBuff[1] == "0")
|
||||||
|
// {
|
||||||
|
// for (int i = 0; i < allFds.nbrUser; i++)
|
||||||
|
// {
|
||||||
|
// if (!allFds.userData[i].mode.i)
|
||||||
|
// {
|
||||||
|
// //print who
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return ;
|
||||||
|
// }
|
||||||
|
// if (pos = find_channel(allFds, splitBuff[1]) != -1)
|
||||||
|
|
||||||
|
// return ;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/12 20:38:50 by apommier #+# #+# */
|
/* Created: 2023/02/12 20:38:50 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/16 23:01:04 by apommier ### ########.fr */
|
/* Updated: 2023/02/17 21:49:52 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -21,6 +21,15 @@ void del_user_in_chan(clientData *user, channelData *chan)
|
|||||||
chan->nbrUser--;
|
chan->nbrUser--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void del_chan_in_user(clientData *user, channelData *chan)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
for (i = 0; chan != user->joinedChan[i]; i++)
|
||||||
|
;
|
||||||
|
user->joinedChan.erase(user->joinedChan.begin() + i);
|
||||||
|
//user->nbrUser--;
|
||||||
|
}
|
||||||
|
|
||||||
void delete_user(fdList &allFds, int userNbr)
|
void delete_user(fdList &allFds, int userNbr)
|
||||||
{
|
{
|
||||||
std::cout << "Delete user nbr " << userNbr << std::endl;
|
std::cout << "Delete user nbr " << userNbr << std::endl;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user