Merge branch 'apommier' into sadjigui
This commit is contained in:
commit
b67901df4e
@ -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/23 21:12:34 by apommier ### ########.fr */
|
/* Updated: 2023/03/03 22:19:08 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -94,7 +94,7 @@ struct userMode
|
|||||||
|
|
||||||
userMode()
|
userMode()
|
||||||
: i(0),
|
: i(0),
|
||||||
s(0),
|
s(1),
|
||||||
w(0),
|
w(0),
|
||||||
o(0) {}
|
o(0) {}
|
||||||
};
|
};
|
||||||
@ -129,7 +129,7 @@ struct channelData //each chan have one
|
|||||||
{
|
{
|
||||||
std::string name;
|
std::string name;
|
||||||
std::string topic;
|
std::string topic;
|
||||||
6
|
|
||||||
std::vector<clientData *> userList;
|
std::vector<clientData *> userList;
|
||||||
std::vector<clientData *> banList;
|
std::vector<clientData *> banList;
|
||||||
std::vector<clientData *> invitedList;
|
std::vector<clientData *> invitedList;
|
||||||
@ -161,11 +161,6 @@ struct fdList //&allFds in code | /!\ only one on the server | REFERENCE ONLY
|
|||||||
functionTab parsingTab;
|
functionTab parsingTab;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* *******************************DEL USER*********************************** */
|
/* *******************************DEL USER*********************************** */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|||||||
@ -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/23 20:33:50 by apommier ### ########.fr */
|
/* Updated: 2023/03/03 19:37:23 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ void leave_all(fdList &allFds, int userNbr)
|
|||||||
int chan_check(fdList &allFds, int userNbr, int chanNbr, std::vector<std::string> splitBuff)
|
int chan_check(fdList &allFds, int userNbr, int chanNbr, std::vector<std::string> splitBuff)
|
||||||
{
|
{
|
||||||
std::string errorStr;
|
std::string errorStr;
|
||||||
if (find_client_list(allFds.channelList[chanNbr].banList, &allFds.userData[userNbr]) == -1)
|
if (find_client_list(allFds.channelList[chanNbr].banList, &allFds.userData[userNbr]) != -1)
|
||||||
{
|
{
|
||||||
errorStr = "474 * JOIN " + allFds.channelList[chanNbr].name + " :Cannot join channel (+b)\n";
|
errorStr = "474 * JOIN " + allFds.channelList[chanNbr].name + " :Cannot join channel (+b)\n";
|
||||||
cmd_error(allFds, allFds.userData[userNbr].fd, errorStr); //ERR_INVITEONLYCHAN
|
cmd_error(allFds, allFds.userData[userNbr].fd, errorStr); //ERR_INVITEONLYCHAN
|
||||||
@ -99,6 +99,7 @@ void join_or_create(std::string buffer, fdList &allFds, int userNbr)
|
|||||||
cmd_error(allFds, allFds.userData[userNbr].fd, "476 * " + splitBuff[1] + " :Bad Channel Mask\n");
|
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.opList.push_back(&allFds.userData[userNbr]);
|
||||||
new_chan.userList.push_back(&allFds.userData[userNbr]);
|
new_chan.userList.push_back(&allFds.userData[userNbr]);
|
||||||
joined_chan = new_chan;
|
joined_chan = new_chan;
|
||||||
allFds.channelList.push_back(new_chan);
|
allFds.channelList.push_back(new_chan);
|
||||||
@ -122,8 +123,8 @@ void join_or_create(std::string buffer, fdList &allFds, int userNbr)
|
|||||||
chanNbr = find_channel(allFds, splitBuff[1]);
|
chanNbr = find_channel(allFds, splitBuff[1]);
|
||||||
if (!allFds.channelList[chanNbr].topic.empty())
|
if (!allFds.channelList[chanNbr].topic.empty())
|
||||||
cmd_reply(allFds, allFds.userData[userNbr].fd, "332 TOPIC " + allFds.channelList[chanNbr].name + " :" + allFds.channelList[chanNbr].topic + "\n");
|
cmd_reply(allFds, allFds.userData[userNbr].fd, "332 TOPIC " + allFds.channelList[chanNbr].name + " :" + allFds.channelList[chanNbr].topic + "\n");
|
||||||
else
|
//else
|
||||||
cmd_error(allFds, allFds.userData[userNbr].fd, "331 TOPIC " + allFds.channelList[chanNbr].name + " :No topic is set\n");
|
// cmd_error(allFds, allFds.userData[userNbr].fd, "NOTICE 331 TOPIC " + allFds.channelList[chanNbr].name + " :No topic is set\n");
|
||||||
// if (chanNbr == -1)
|
// if (chanNbr == -1)
|
||||||
// {
|
// {
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/19 22:10:07 by apommier #+# #+# */
|
/* Created: 2023/02/19 22:10:07 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/23 17:46:29 by apommier ### ########.fr */
|
/* Updated: 2023/03/03 22:18:44 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -34,14 +34,28 @@ void leave_chan(fdList &allFds, std::string chan, int userNbr, std::string msg)
|
|||||||
//reply = ":" + allFds.userData[userNbr].nickname + "!" +
|
//reply = ":" + allFds.userData[userNbr].nickname + "!" +
|
||||||
|
|
||||||
//reply = ":" + allFds.userData[userNbr].nickname + "!" + allFds.userData[userNbr].userName + "@" + allFds.userData[userNbr].ip + " PART " + allFds.channelList[chanPos].name;
|
//reply = ":" + allFds.userData[userNbr].nickname + "!" + allFds.userData[userNbr].userName + "@" + allFds.userData[userNbr].ip + " PART " + allFds.channelList[chanPos].name;
|
||||||
reply = ":" + allFds.userData[userNbr].nickname + "!" + allFds.userData[userNbr].userName + "@" + allFds.userData[userNbr].hostName + " PART " + allFds.channelList[chanPos].name + "\n";
|
//reply = ":" + allFds.userData[userNbr].nickname + "!" + allFds.userData[userNbr].userName + "@" + allFds.userData[userNbr].ip + " PART :" + allFds.channelList[chanPos].name + "\n";
|
||||||
|
reply = ":" + allFds.userData[userNbr].nickname + "!" + allFds.userData[userNbr].userName + "@" + allFds.userData[userNbr].ip;
|
||||||
|
if (!msg.empty())
|
||||||
|
reply += " PART " + allFds.channelList[chanPos].name + " " + msg + "\n";
|
||||||
|
else
|
||||||
|
reply += " PART :" + allFds.channelList[chanPos].name + "\n";
|
||||||
|
|
||||||
//:awd!kinou@172.17.0.1 PART :#test tcpdump
|
//:awd!kinou@172.17.0.1 PART :#test tcpdump
|
||||||
//:awd!kinou@127.0.0.1 PART :#test
|
//:awd!kinou@127.0.0.1 PART :#test
|
||||||
(void )msg;
|
//(void )msg;
|
||||||
//if (!msg.empty())
|
// reply += " " + msg;
|
||||||
// reply += " :" + msg;
|
//else
|
||||||
|
// reply += "\n";
|
||||||
std::cout << "leave msg=" << reply << std::endl;
|
std::cout << "leave msg=" << reply << std::endl;
|
||||||
send(allFds.userData[userNbr].fd, reply.c_str(), reply.size(), 0);
|
send(allFds.userData[userNbr].fd, reply.c_str(), reply.size(), 0);
|
||||||
|
for (int i = 0; i < allFds.channelList[chanPos].nbrUser; i++)
|
||||||
|
{
|
||||||
|
if (allFds.channelList[chanPos].userList[i]->mode.s)
|
||||||
|
send(allFds.channelList[chanPos].userList[i]->fd, reply.c_str(), reply.size(), 0);
|
||||||
|
std::cout << "loop here\n";
|
||||||
|
}
|
||||||
|
|
||||||
//cmd_reply(allFds, allFds.userData[userNbr].fd, reply + "\n");
|
//cmd_reply(allFds, allFds.userData[userNbr].fd, reply + "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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/23 17:46:47 by apommier ### ########.fr */
|
/* Updated: 2023/03/03 22:28:18 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -82,7 +82,8 @@ void send_msg(fdList &allFds, std::string msg, std::string dest, int userNbr)
|
|||||||
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;
|
||||||
if (i != (size_t)userNbr)
|
|
||||||
|
if (i != (size_t)userNbr && allFds.channelList[pos].userList[i]->mode.s)
|
||||||
send(allFds.channelList[pos].userList[i]->fd, fullMsg.c_str(), fullMsg.size(), 0);
|
send(allFds.channelList[pos].userList[i]->fd, fullMsg.c_str(), fullMsg.size(), 0);
|
||||||
std::cout << "loop here\n";
|
std::cout << "loop here\n";
|
||||||
}
|
}
|
||||||
@ -95,6 +96,7 @@ 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.userData[pos].mode.s)
|
||||||
send(allFds.userData[pos].fd, fullMsg.c_str(), fullMsg.size(), 0);
|
send(allFds.userData[pos].fd, fullMsg.c_str(), fullMsg.size(), 0);
|
||||||
std::cout << "msg send\n";
|
std::cout << "msg send\n";
|
||||||
std::cout << "msg = " << fullMsg << std::endl;
|
std::cout << "msg = " << fullMsg << std::endl;
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* 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/23 17:47:18 by apommier ### ########.fr */
|
/* Updated: 2023/03/03 22:24:11 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -70,6 +70,7 @@ void KICK(std::string buffer, fdList &allFds, int userNbr)
|
|||||||
//send_msg(allFds, msg, splitBuff[1], userNbr);
|
//send_msg(allFds, msg, splitBuff[1], userNbr);
|
||||||
for (int i = 0; i < allFds.channelList[chanPos].nbrUser; i++)
|
for (int i = 0; i < allFds.channelList[chanPos].nbrUser; i++)
|
||||||
{
|
{
|
||||||
|
if (allFds.channelList[chanPos].userList[i]->mode.s)
|
||||||
send(allFds.channelList[chanPos].userList[i]->fd, kickMsg.c_str(), kickMsg.size(), 0);
|
send(allFds.channelList[chanPos].userList[i]->fd, kickMsg.c_str(), kickMsg.size(), 0);
|
||||||
}
|
}
|
||||||
//cmd_reply(allFds, allFds.userData[userPos].fd, msg);
|
//cmd_reply(allFds, allFds.userData[userPos].fd, msg);
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/11 19:11:03 by apommier #+# #+# */
|
/* Created: 2023/02/11 19:11:03 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/23 17:48:11 by apommier ### ########.fr */
|
/* Updated: 2023/03/08 02:09:55 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -44,7 +44,20 @@ void SQUIT(std::string buffer, fdList &allFds, int userNbr)
|
|||||||
cmd_error(allFds, allFds.userData[userNbr].fd, "402 * " + splitBuff[2] + " :No such server\n");
|
cmd_error(allFds, allFds.userData[userNbr].fd, "402 * " + splitBuff[2] + " :No such server\n");
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
std::string fullMsg;
|
||||||
|
for (int pos = 0; pos < allFds.nbrUser; pos++)
|
||||||
|
{
|
||||||
|
fullMsg = ":irc.local NOTICE " + allFds.userData[pos].userName + "." + allFds.userData[pos].nickname + " :*** You have been disconnected from the server";
|
||||||
|
//fullMsg = ":" + allFds.userData[pos].nickname + "!" + + "@" + allFds.userData[pos].ip + " QUIT :Server shutdown\n";
|
||||||
|
send(allFds.userData[pos].fd, fullMsg.c_str(), fullMsg.size(), 0);
|
||||||
|
if (close(allFds.userData[pos].fd) != 0)
|
||||||
|
ft_error("close() error");
|
||||||
|
}
|
||||||
std::cout << "squit | alive = 0\n";
|
std::cout << "squit | alive = 0\n";
|
||||||
|
if (close(allFds.serverFd) != 0)
|
||||||
|
ft_error("close() error");
|
||||||
|
if (close(allFds.epollFd) != 0)
|
||||||
|
ft_error("close() error");
|
||||||
allFds.alive = 0;
|
allFds.alive = 0;
|
||||||
// if (allFds.userData[userNbr].op)
|
// if (allFds.userData[userNbr].op)
|
||||||
// allFds.alive = 0;
|
// allFds.alive = 0;
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/11 19:10:26 by apommier #+# #+# */
|
/* Created: 2023/02/11 19:10:26 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/16 22:25:37 by apommier ### ########.fr */
|
/* Updated: 2023/03/03 22:24:47 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -29,7 +29,10 @@ void send_quit_msg(fdList &allFds, int userNbr, std::string msg)
|
|||||||
{
|
{
|
||||||
//std::cout << "send nickname " << allFds.userData[userNbr].joinedChan[i]->userList[j]->nickname << std::endl;
|
//std::cout << "send nickname " << allFds.userData[userNbr].joinedChan[i]->userList[j]->nickname << std::endl;
|
||||||
if (allFds.userData[userNbr].joinedChan[i]->userList[j] != &allFds.userData[userNbr])
|
if (allFds.userData[userNbr].joinedChan[i]->userList[j] != &allFds.userData[userNbr])
|
||||||
|
{
|
||||||
|
if (allFds.userData[userNbr].joinedChan[i]->userList[j]->mode.s)
|
||||||
send(allFds.userData[userNbr].joinedChan[i]->userList[j]->fd, fullMsg.c_str(), fullMsg.size(), 0);
|
send(allFds.userData[userNbr].joinedChan[i]->userList[j]->fd, fullMsg.c_str(), fullMsg.size(), 0);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
std::cout << "hehe je quitte\n";
|
std::cout << "hehe je quitte\n";
|
||||||
std::cout << "loop here\n";
|
std::cout << "loop here\n";
|
||||||
|
|||||||
@ -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/17 21:49:52 by apommier ### ########.fr */
|
/* Updated: 2023/03/08 01:08:10 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -14,10 +14,27 @@
|
|||||||
|
|
||||||
void del_user_in_chan(clientData *user, channelData *chan)
|
void del_user_in_chan(clientData *user, channelData *chan)
|
||||||
{
|
{
|
||||||
size_t i;
|
// size_t i;
|
||||||
for (i = 0; user != chan->userList[i]; i++)
|
int pos;
|
||||||
;
|
// for (i = 0; user != chan->userList[i]; i++)
|
||||||
chan->userList.erase(chan->userList.begin() + i);
|
// ;
|
||||||
|
// chan->userList.erase(chan->userList.begin() + i);
|
||||||
|
|
||||||
|
if ((pos = find_client_list(chan->userList, user)) != -1)
|
||||||
|
chan->userList.erase(chan->userList.begin() + pos);
|
||||||
|
|
||||||
|
if ((pos = find_client_list(chan->banList, user)) != -1)
|
||||||
|
chan->userList.erase(chan->banList.begin() + pos);
|
||||||
|
|
||||||
|
if ((pos = find_client_list(chan->invitedList, user)) != -1)
|
||||||
|
chan->userList.erase(chan->invitedList.begin() + pos);
|
||||||
|
|
||||||
|
if ((pos = find_client_list(chan->verboseList, user)) != -1)
|
||||||
|
chan->userList.erase(chan->verboseList.begin() + pos);
|
||||||
|
|
||||||
|
if ((pos = find_client_list(chan->opList, user)) != -1)
|
||||||
|
chan->userList.erase(chan->opList.begin() + pos);
|
||||||
|
|
||||||
chan->nbrUser--;
|
chan->nbrUser--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/12/01 17:27:33 by apommier #+# #+# */
|
/* Created: 2022/12/01 17:27:33 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/14 03:00:42 by apommier ### ########.fr */
|
/* Updated: 2023/03/03 22:57:10 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -25,9 +25,14 @@ int main(int ac, char **av)
|
|||||||
{
|
{
|
||||||
initialize(av);
|
initialize(av);
|
||||||
}
|
}
|
||||||
|
// catch()
|
||||||
|
// {
|
||||||
|
// std::cout << "Fatal error causing the end of the program :/\n";
|
||||||
|
// }
|
||||||
catch(std::exception &e)
|
catch(std::exception &e)
|
||||||
{
|
{
|
||||||
std::cout << "Fatal error causing the end of the program :/\n";
|
if (errno)
|
||||||
|
std::cerr << "Fatal error: " << strerror(errno) << std::endl;
|
||||||
}
|
}
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/12/06 21:44:20 by apommier #+# #+# */
|
/* Created: 2022/12/06 21:44:20 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/15 00:14:07 by apommier ### ########.fr */
|
/* Updated: 2023/03/03 22:53:28 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -36,7 +36,9 @@ void initialize(char **av)
|
|||||||
allFds.serverFd = socket(AF_INET, SOCK_STREAM, 0);
|
allFds.serverFd = socket(AF_INET, SOCK_STREAM, 0);
|
||||||
if (allFds.serverFd == -1)
|
if (allFds.serverFd == -1)
|
||||||
ft_error("socket() error");
|
ft_error("socket() error");
|
||||||
if (setsockopt(allFds.serverFd, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT, &opt, sizeof(opt)))
|
// if (setsockopt(allFds.serverFd, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT, &opt, sizeof(opt)))
|
||||||
|
// ft_error("setsockopt() error");
|
||||||
|
if (setsockopt(allFds.serverFd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)))
|
||||||
ft_error("setsockopt() error");
|
ft_error("setsockopt() error");
|
||||||
|
|
||||||
addr.sin_port = htons(atoi(av[1]));
|
addr.sin_port = htons(atoi(av[1]));
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/12/06 21:46:41 by apommier #+# #+# */
|
/* Created: 2022/12/06 21:46:41 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/23 20:29:25 by apommier ### ########.fr */
|
/* Updated: 2023/03/03 22:56:34 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -15,13 +15,14 @@
|
|||||||
void ft_error(std::string str)
|
void ft_error(std::string str)
|
||||||
{
|
{
|
||||||
std::cerr << str << std::endl;
|
std::cerr << str << std::endl;
|
||||||
if (errno)
|
throw std::exception();
|
||||||
{
|
// if (errno)
|
||||||
std::cerr << "errno: " << strerror(errno) << std::endl;
|
// {
|
||||||
throw ;//std::bad_alloc();
|
// std::cerr << "errno: " << strerror(errno) << std::endl;
|
||||||
//exit(errno);
|
// throw std::exception();
|
||||||
}
|
// //exit(errno);
|
||||||
exit(1);
|
// }
|
||||||
|
//exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void close_fd(int fd)
|
void close_fd(int fd)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user