return of mode/ == dans les ternaires....

This commit is contained in:
kinou-p 2023-03-13 06:51:16 +01:00
parent 7f836520fc
commit ed87aadb26
13 changed files with 228 additions and 82 deletions

View File

@ -6,7 +6,7 @@
# By: apommier <apommier@student.42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2022/12/01 17:27:29 by apommier #+# #+# #
# Updated: 2023/03/09 00:20:47 by apommier ### ########.fr #
# Updated: 2023/03/13 02:21:45 by apommier ### ########.fr #
# #
# **************************************************************************** #
@ -34,6 +34,7 @@ SRCS := main.cpp\
commands/channel/privmsg.cpp\
commands/channel/notice.cpp\
commands/channel/part.cpp\
commands/channel/list.cpp\
\
commands/other/quit.cpp\
commands/other/ping_pong.cpp\

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/12/01 17:27:37 by apommier #+# #+# */
/* Updated: 2023/03/10 21:04:49 by apommier ### ########.fr */
/* Updated: 2023/03/13 02:32:41 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -241,8 +241,10 @@ void parse_commands(std::string buffer, fdList &allFds, int userNbr);
/* ******************************MODE UTILS********************************** */
/* ************************************************************************** */
void ban_reply(channelData &chan, clientData &user);
void chan_reply(channelData &chan, clientData &user);
void user_reply(clientData &user);
int search_and_erase(std::string &str, std::string toFind);
bool str_to_int(int &i, const std::string s);
//bool str_to_int(int &i, const std::string s);
void ban_reply(channelData &chan, clientData &user);
void chan_reply(channelData &chan, clientData &user);
void user_reply(clientData &user);
int search_and_erase(std::string &str, std::string toFind);
bool str_to_int(int &i, const std::string s);
std::string int_to_str(int i);

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/02/09 17:21:57 by apommier #+# #+# */
/* Updated: 2023/03/10 22:21:38 by apommier ### ########.fr */
/* Updated: 2023/03/13 01:12:07 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -103,6 +103,9 @@ int find_user(fdList &allFds, std::string userName)//return direct user fd
int is_in_same(fdList &allFds, int userNbr, int userNbr2)
{
size_t size;
if (userNbr < 0 || userNbr2 < 0)
return (0);
if (allFds.userData[userNbr].joinedChan.size() <= allFds.userData[userNbr2].joinedChan.size())
size = allFds.userData[userNbr].joinedChan.size();
else

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/02/09 15:40:33 by apommier #+# #+# */
/* Updated: 2023/03/10 22:22:44 by apommier ### ########.fr */
/* Updated: 2023/03/12 21:50:58 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -157,7 +157,7 @@ void join_loop(fdList &allFds, std::vector<std::string> splitBuff, int userNbr)
if (splitChan[i][0] != '#' && splitChan[i][0] != '&')
{
//error bad channel name
buffer = "476 " + allFds.userData[userNbr].nickname + " JOIN " + splitChan[i] + " ::Bad Channel Mask\r\n";
buffer = "476 " + allFds.userData[userNbr].nickname + " JOIN " + splitChan[i] + " :Bad Channel Mask\r\n";
cmd_error(allFds, allFds.userData[userNbr].fd, buffer);
//:Bad Channel Mask
//std::cout << "bad chan mask\n";

View File

@ -6,7 +6,78 @@
/* 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 */
/* Updated: 2023/03/13 02:39:00 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
#include "../../../includes/ft_irc.hpp"
// msg = "321 " + allFds.userData[userNbr].nickname + " " + allfds.channelList[i].name;
// msg = "322 " + allFds.userData[userNbr].nickname + " :End of LIST\r\n";
// msg = "323 " + allFds.userData[userNbr].nickname + " :End of LIST\r\n"; //done
void list_reply(fdList &allFds, channelData &chan, int fd, int userNbr)
{
//:irc.server.com 321 MonPseudo :Channel :Users Name //start
//:irc.server.com 322 MonPseudo #channel 10 :Channel Topic //list
//:irc.server.com 323 MonPseudo :End of LIST //end
std::string msg;
// msg = "321 " + allFds.userData[userNbr].nickname + ":ChannelName UserNbr :Topic\r\n";
// cmd_reply(allFds, fd, msg);
//str_to_int(int &i, const std::string s);
msg = "322 " + allFds.userData[userNbr].nickname + " :" + chan.name + " " + int_to_str(chan.userList.size()) + " :" + chan.topic + "\r\n";//"ChannelName UserNbr :Topic\r\n";
cmd_reply(allFds, fd, msg);
// msg = "323 " + allFds.userData[userNbr].nickname + " :End of LIST\r\n";
// cmd_reply(allFds, fd, msg);
}
void list_loop(fdList &allFds, std::vector<std::string> splitBuff, int userNbr)
{
std::vector<std::string> splitChan;
int pos;
split(splitBuff[1], ',', splitChan);
for (size_t i = 0; i < splitChan.size(); i++)
{
pos = find_channel(allFds, splitChan[i]);
if (pos != -1)
{
if ((!allFds.channelList[pos].mode.p && !allFds.channelList[pos].mode.s)
|| is_joined(allFds, allFds.channelList[pos].name, userNbr) || allFds.userData[userNbr].op)
list_reply(allFds, allFds.channelList[pos], allFds.userData[userNbr].fd, userNbr);
}
}
}
void LIST(std::string buffer, fdList &allFds, int userNbr)
{
std::vector<std::string> splitBuff;
std::string msg;
if (!allFds.userData[userNbr].registered)
{
cmd_error(allFds, allFds.userData[userNbr].fd, "451 " + allFds.userData[userNbr].nickname + " LIST :You have not registered\r\n");
return ;
}
split(buffer, ' ', splitBuff);
msg = "321 " + allFds.userData[userNbr].nickname + " :ChannelName UserNbr :Topic\r\n";
cmd_reply(allFds, allFds.userData[userNbr].fd, msg);
if (splitBuff.size() == 1 || splitBuff[1] == "0")
{
//rpl start
for (size_t i = 0; i < allFds.channelList.size(); i++)
{
if ((!allFds.channelList[i].mode.p && !allFds.channelList[i].mode.s)
|| is_joined(allFds, allFds.channelList[i].name, userNbr) || allFds.userData[userNbr].op)
list_reply(allFds, allFds.channelList[i], allFds.userData[userNbr].fd, userNbr);
}
//rpl end
return ;
}
else
list_loop(allFds, splitBuff, userNbr);
msg = "323 " + allFds.userData[userNbr].nickname + " :End of LIST\r\n";
cmd_reply(allFds, allFds.userData[userNbr].fd, msg);
}

View File

@ -3,10 +3,10 @@
/* ::: :::::::: */
/* mode.cpp :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: sadjigui <sadjigui@student.42.fr> +#+ +:+ +#+ */
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/02/11 19:19:30 by apommier #+# #+# */
/* Updated: 2023/03/10 21:50:12 by sadjigui ### ########.fr */
/* Updated: 2023/03/13 06:47:29 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -146,17 +146,17 @@ void do_chan_opt(fdList &allFds, int userNbr, std::vector<std::string> opt, int
{
case 'o': chan_opt_o(allFds, userNbr, opt, chanNbr, sign); //std::cout << "launching option: " << opt[2][i] << std::endl;
break ;
case 'p': allFds.channelList[chanNbr].mode.p = (sign = true) ? true : false;
case 'p': allFds.channelList[chanNbr].mode.p = (sign == true) ? true : false;
break ;
case 's': allFds.channelList[chanNbr].mode.s = (sign = true) ? true : false;
case 's': allFds.channelList[chanNbr].mode.s = (sign == true) ? true : false;
break ;
case 'i': allFds.channelList[chanNbr].mode.i = (sign = true) ? true : false;
case 'i': allFds.channelList[chanNbr].mode.i = (sign == true) ? true : false;
break ;
case 't': allFds.channelList[chanNbr].mode.t = (sign = true) ? true : false;
case 't': allFds.channelList[chanNbr].mode.t = (sign == true) ? true : false;
break ;
case 'n': allFds.channelList[chanNbr].mode.n = (sign = true) ? true : false;
case 'n': allFds.channelList[chanNbr].mode.n = (sign == true) ? true : false;
break ;
case 'm': allFds.channelList[chanNbr].mode.m = (sign = true) ? true : false;
case 'm': allFds.channelList[chanNbr].mode.m = (sign == true) ? true : false;
break ;
case 'l':
if (sign == true)
@ -193,31 +193,35 @@ void do_user_opt(fdList &allFds, int userNbr, std::vector<std::string> opt, int
return ;
}
if (opt[2][0] == '-')
{
std::cout << "sign = false\n";
sign = false;
}
for (int i = 1; opt[2][i]; i++)
{
switch(opt[2][i])
{
case 'i': allFds.userData[new_target].mode.i = (sign = true) ? true : false;
case 'i': allFds.userData[new_target].mode.i = (sign == true) ? true : false;
break ;
case 's': allFds.userData[new_target].mode.s = (sign = true) ? true : false;
case 's': allFds.userData[new_target].mode.s = (sign == true) ? true : false;
break ;
case 'w': allFds.userData[new_target].mode.w = (sign = true) ? true : false;
case 'w': allFds.userData[new_target].mode.w = (sign == true) ? true : false;
break ;
case 'o':
if (sign == true)
return ;
if (allFds.userData[userNbr].mode.o == false)
{
cmd_error(allFds, allFds.userData[userNbr].fd, "482 *" + opt[1] + " :You're not channel operator\n");
return ;
}
allFds.userData[new_target].mode.o = (sign = true) ? true : false;
// if (allFds.userData[userNbr].mode.o == false)
// {
// cmd_error(allFds, allFds.userData[userNbr].fd, "482 *" + opt[1] + " :You're not channel operator\n");
// return ;
// }
allFds.userData[new_target].mode.o = (sign == true) ? true : false;
break ;
default: std::cout << "Default" << std::endl;
break ;
}
}
std::cout << "mode w== " << allFds.userData[new_target].mode.w << std::endl;
return;
}
@ -227,7 +231,7 @@ void MODE(std::string buffer, fdList &allFds, int userNbr)
std::vector<std::string> splitBuff;
int pos;
split(buffer, ' ', splitBuff);
if (splitBuff.size() < 3)
if (splitBuff.size() < 2)
{
cmd_error(allFds, allFds.userData[userNbr].fd, "461 *" + splitBuff[0] + " :Not enough parameters\n");
return ;
@ -243,15 +247,17 @@ void MODE(std::string buffer, fdList &allFds, int userNbr)
//verify_option(allFds, str, i); //needed?
// std::cout << "splitbuff[2] = " << splitBuff[2] << std::endl;
search_and_erase(splitBuff[2], "opsitnmlbvk");
// std::cout << "splitbuff[2] after = " << splitBuff[2] << std::endl;
if ((splitBuff[2].size() < 2) || (splitBuff[2][0] != '-' && splitBuff[2][0] != '+'))
if (splitBuff.size() > 2)
{
std::cout << "Bad params" << std::endl;
return ;
search_and_erase(splitBuff[2], "opsitnmlbvk");
// std::cout << "splitbuff[2] after = " << splitBuff[2] << std::endl;
if ((splitBuff[2].size() < 2) || (splitBuff[2][0] != '-' && splitBuff[2][0] != '+'))
{
std::cout << "Bad params" << std::endl;
return ;
}
do_chan_opt(allFds, userNbr, splitBuff, pos);
}
do_chan_opt(allFds, userNbr, splitBuff, pos);
chan_reply(allFds.channelList[pos], allFds.userData[userNbr]);
//do_option one by one here (do_chan_opt)?
return ;
@ -260,18 +266,21 @@ void MODE(std::string buffer, fdList &allFds, int userNbr)
else if ((pos = find_user(allFds, splitBuff[1])) == -1)
{
std::cout << "user doesn't exist" << std::endl;
cmd_error(allFds, allFds.userData[userNbr].fd, "401 *" + splitBuff[1] + " :No such nick/channel\n");
cmd_error(allFds, allFds.userData[userNbr].fd, "401 *" + splitBuff[1] + " :No such nick\n");
return ;
}
else
{
search_and_erase(splitBuff[2], "iswo");
if ((splitBuff[2].size() < 2) && (splitBuff[2][0] != '-' || splitBuff[2][0] != '+'))
if (splitBuff.size() > 2)
{
cmd_error(allFds, allFds.userData[userNbr].fd, "461 *" + splitBuff[0] + " :Not enough parameters\n");
return ;
search_and_erase(splitBuff[2], "iswo");
if ((splitBuff[2].size() < 2) && (splitBuff[2][0] != '-' || splitBuff[2][0] != '+'))
{
cmd_error(allFds, allFds.userData[userNbr].fd, "461 *" + splitBuff[0] + " :Not enough parameters\n");
return ;
}
do_user_opt(allFds, userNbr, splitBuff, pos);
}
do_user_opt(allFds, userNbr, splitBuff, pos);
user_reply(allFds.userData[userNbr]);
}
//do_option one by one here (do_user_opt)?

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/03/09 00:13:32 by apommier #+# #+# */
/* Updated: 2023/03/10 22:03:03 by apommier ### ########.fr */
/* Updated: 2023/03/13 06:21:17 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -60,13 +60,23 @@ void chan_reply(channelData &chan, clientData &user)
//return (reply);
}
void user_mode_reply(fdList &allFds, clientData &user, int userNbr, std::string mode)
{
//userNbr = asking client
//client = changed mode client
std::string reply = ":" + allFds.userData[userNbr].nickname + "!" + allFds.userData[userNbr].userName
+ "@" + allFds.userData[userNbr].ip + " MODE " + user.nickname + " :+" + mode;
//void user_reply(clientData &user)
}
void user_reply(clientData &user)
{
//:irc.server.com 221 ClientName +ix
//std::string reply;
std::string reply = " +";
std::string reply_begin = ":irc.local 221 " + user.nickname + " +";
//std::string reply = " +";
//:kinou1!kinou@127.0.0.1 MODE kinou1 :+i
std::string reply = ":irc.local 221 " + user.nickname + " +";
if (user.mode.i)
reply += 'i';
if (user.mode.s)
@ -76,7 +86,9 @@ void user_reply(clientData &user)
if (user.mode.o)
reply += 'o';
reply += "\r\n";
std::cout << reply;
send(user.fd, reply.c_str(), reply.size(), 0);
//cmd_reply(allFds, user.fd, reply);
}
int search_and_erase(std::string &str, std::string toFind)

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/02/09 22:04:11 by apommier #+# #+# */
/* Updated: 2023/02/19 22:11:59 by apommier ### ########.fr */
/* Updated: 2023/03/13 02:33:34 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -33,13 +33,13 @@ void SERVER(std::string buffer, fdList &allFds, int userNbr)
void LIST(std::string buffer, fdList &allFds, int userNbr)
{
(void)buffer;
(void)allFds;
(void)userNbr;
return ;
}
// void LIST(std::string buffer, fdList &allFds, int userNbr)
// {
// (void)buffer;
// (void)allFds;
// (void)userNbr;
// return ;
// }

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/02/11 19:04:47 by apommier #+# #+# */
/* Updated: 2023/03/10 22:14:14 by apommier ### ########.fr */
/* Updated: 2023/03/13 06:06:11 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -46,7 +46,7 @@ void OPER(std::string buffer, fdList &allFds, int userNbr)
// return ;
// }
allFds.userData[userNbr].op = 1;
allFds.userData[userNbr].mode.s = 1;
allFds.userData[userNbr].mode.o = 1;
msg = "381 " + allFds.userData[userNbr].nickname + " " + allFds.userData[userNbr].nickname + " :You are now an IRC operator\r\n";
send(allFds.userData[userNbr].fd, msg.c_str(), msg.size(), 0);
}

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/02/16 18:14:15 by apommier #+# #+# */
/* Updated: 2023/03/10 22:26:02 by apommier ### ########.fr */
/* Updated: 2023/03/13 06:12:36 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -15,31 +15,63 @@
//:irc.server.net 353 user = #channel :@user1 +user2 user3
//:irc.server.net 366 user #channel :End of /NAMES list.
void names_reply(fdList &allFds, channelData &chan, int fd, std::string user)
void names_reply(fdList &allFds, channelData &chan, int fd, int userNbr)
{
//:irc.local 353 kinou3 = #test :@kinou3
std::string msg;
msg = "353 " + user + " = " + chan.name + " :";
msg = "353 " + allFds.userData[userNbr].nickname + " = " + chan.name + " :";
for (size_t i = 0; i < chan.userList.size(); i++)
{
if (chan.userList[i]->mode.o)//ischanop
msg += "=" + chan.userList[i]->nickname + " ";
else if (chan.userList[i]->mode.o)//verbose
if (chan.userList[i]->mode.i && !is_in_same(allFds, userNbr, find_user(allFds, chan.userList[i]->nickname) && !allFds.userData[userNbr].op)/*user secret et pas meme chan*/)
;
else if (find_client_list(chan.opList, chan.userList[i]) || allFds.userData[userNbr].op)//(chan.userList[i]->mode.o)//ischanop
msg += "@" + chan.userList[i]->nickname + " ";
else if (find_client_list(chan.verboseList, chan.userList[i]))//(chan.userList[i]->mode.v)//verbose
msg += "=" + chan.userList[i]->nickname + " ";
else
msg += "+" + chan.userList[i]->nickname + " ";
}
msg += "\r\n";
std::cout << "name msg= " << msg;
cmd_reply(allFds, fd, msg);
msg = "366 " + allFds.userData[userNbr].nickname + " " + chan.name + " :End of /NAMES list\r\n";
cmd_reply(allFds, fd, msg);
}
void names_loop(fdList &allFds, std::vector<std::string> splitBuff, int userNbr)
{
std::vector<std::string> splitChan;
int pos;
split(splitBuff[1], ',', splitChan);
for (size_t i = 0; i < splitChan.size(); i++)
{
//if (splitChan[i][0] != '#' && splitChan[i][0] != '&')
//{
// buffer = "476 " + allFds.userData[userNbr].nickname + " NAMES " + splitChan[i] + " :Bad Channel Mask\r\n";
// cmd_error(allFds, allFds.userData[userNbr].fd, buffer);
// return ;
//}
pos = find_channel(allFds, splitChan[i]);
// if ((!allFds.channelList[i].mode.p && !allFds.channelList[i].mode.s)
// || is_joined(allFds, allFds.channelList[i].name, userNbr))
if (pos != -1)
{
if ((!allFds.channelList[pos].mode.p && !allFds.channelList[pos].mode.s)
|| is_joined(allFds, allFds.channelList[pos].name, userNbr) || allFds.userData[userNbr].op)
names_reply(allFds, allFds.channelList[pos], allFds.userData[userNbr].fd, userNbr);
return;
}
}
}
void NAMES(std::string buffer, fdList &allFds, int userNbr)
{
(void)buffer;
(void)allFds;
(void)userNbr;
std::vector<std::string> splitBuff;
int pos;
//int pos;
if (!allFds.userData[userNbr].registered)
{
@ -52,22 +84,25 @@ void NAMES(std::string buffer, fdList &allFds, int userNbr)
for (size_t i = 0; i < allFds.channelList.size(); i++)
{
if ((!allFds.channelList[i].mode.p && !allFds.channelList[i].mode.s)
|| is_joined(allFds, allFds.channelList[i].name, userNbr))
|| is_joined(allFds, allFds.channelList[i].name, userNbr) || allFds.userData[userNbr].op)
{
names_reply(allFds, allFds.channelList[i], allFds.userData[userNbr].fd, allFds.userData[userNbr].nickname);
names_reply(allFds, allFds.channelList[i], allFds.userData[userNbr].fd, userNbr);
//print who
}
}
return ;
}
if ((pos = find_channel(allFds, splitBuff[1])) != -1)
{
if ((!allFds.channelList[pos].mode.p && !allFds.channelList[pos].mode.s)
|| is_joined(allFds, allFds.channelList[pos].name, userNbr))
{
names_reply(allFds, allFds.channelList[pos], allFds.userData[userNbr].fd, allFds.userData[userNbr].nickname);
}
return; //??
}
else
names_loop(allFds, splitBuff, userNbr);
// if ((pos = find_channel(allFds, splitBuff[1])) != -1)
// {
// if ((!allFds.channelList[pos].mode.p && !allFds.channelList[pos].mode.s)
// || is_joined(allFds, allFds.channelList[pos].name, userNbr))
// {
// names_reply(allFds, allFds.channelList[pos], allFds.userData[userNbr].fd, allFds.userData[userNbr].nickname);
// }
// return; //??
// }
return ;
}

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/02/16 18:14:17 by apommier #+# #+# */
/* Updated: 2023/03/10 22:26:41 by apommier ### ########.fr */
/* Updated: 2023/03/13 04:57:33 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -55,7 +55,7 @@ void WHO(std::string buffer, fdList &allFds, int userNbr)
{
for (int i = 0; i < allFds.nbrUser; i++)
{
if (!allFds.userData[i].mode.i || is_in_same(allFds, userNbr, i))
if (!allFds.userData[i].mode.i || is_in_same(allFds, userNbr, i) || allFds.userData[userNbr].op)
{
who_reply(allFds, allFds.userData[i], allFds.userData[userNbr].fd);
//print who
@ -73,7 +73,7 @@ void WHO(std::string buffer, fdList &allFds, int userNbr)
who_reply(allFds, *allFds.channelList[pos].userList[i], allFds.userData[userNbr].fd);
}
//"<nick> :End of WHOIS list"
cmd_reply(allFds, allFds.userData[userNbr].fd, allFds.userData[userNbr].nickname + " :End of WHOIS list\n");
cmd_reply(allFds, allFds.userData[userNbr].fd, allFds.userData[userNbr].nickname + " :End of WHO list\n");
//std::cout <<
return ;
}

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/12/09 22:26:27 by apommier #+# #+# */
/* Updated: 2023/03/09 04:59:05 by apommier ### ########.fr */
/* Updated: 2023/03/11 20:36:50 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -31,6 +31,10 @@ void new_connection(fdList &allFds)
//int newUserFd;
//allFds.userFdList.push_back(newUserFd);
newFd = accept(allFds.serverFd, (struct sockaddr *)&addr, (socklen_t*)&addrLen);
//protect accept
//allFds.userFdList[allFds.nbrUser] = newFd;
allFds.userFdList.push_back(newFd);
//std::cout << "newConnection | old user fd = " << newFd << std::endl;

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/12/06 21:46:41 by apommier #+# #+# */
/* Updated: 2023/03/10 22:14:58 by apommier ### ########.fr */
/* Updated: 2023/03/13 02:33:08 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -89,3 +89,12 @@ int find_client_list(std::vector<clientData *> &list, clientData *client)
}
return (-1);
}
std::string int_to_str(int i)
{
std::string s;
std::stringstream out;
out << i;
s = out.str();
return (s);
}