add exception instead exit to fix leak | add PING PONG | add password at connexion
This commit is contained in:
parent
a72c97f0f8
commit
370e099b22
@ -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/13 19:48:40 by apommier ### ########.fr */
|
/* Updated: 2023/02/14 02:40:49 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -18,6 +18,8 @@
|
|||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
|
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
#include <exception>
|
||||||
|
|
||||||
#include <cstring> //std::string
|
#include <cstring> //std::string
|
||||||
#include <cerrno> //errno
|
#include <cerrno> //errno
|
||||||
#include <iostream> //std::cout | cerr
|
#include <iostream> //std::cout | cerr
|
||||||
@ -37,6 +39,14 @@
|
|||||||
#define READ_SIZE 10
|
#define READ_SIZE 10
|
||||||
#define CMD_NBR 10
|
#define CMD_NBR 10
|
||||||
|
|
||||||
|
|
||||||
|
// if (!allFds.userData[userNbr].registered)
|
||||||
|
// {
|
||||||
|
// /*change error*/
|
||||||
|
// cmd_error(allFds, allFds.userData[userNbr].fd, "451 * JOIN :You have not registered\n"); //ERR_NEEDMOREPARAMS
|
||||||
|
// return ;
|
||||||
|
// }
|
||||||
|
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* *********************************STRUCT*********************************** */
|
/* *********************************STRUCT*********************************** */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
@ -139,7 +149,7 @@ struct fdList //&allFds in code | /!\ only one on the server | REFERENCE ONLY
|
|||||||
accessList<clientData> userData;
|
accessList<clientData> userData;
|
||||||
|
|
||||||
int alive;
|
int alive;
|
||||||
|
std::string password;
|
||||||
int nbrUser;
|
int nbrUser;
|
||||||
functionTab parsingTab;
|
functionTab parsingTab;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/12 23:30:11 by apommier #+# #+# */
|
/* Created: 2023/02/12 23:30:11 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/13 11:04:52 by apommier ### ########.fr */
|
/* Updated: 2023/02/14 02:19:19 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -19,6 +19,15 @@ void connect_client(fdList &allFds, int userNbr)
|
|||||||
// if (-1 == connect(allFds.userData[userNbr].fd, (struct sockaddr *)&allFds.userData[userNbr].addr, sizeof(allFds.userData[userNbr].addr)))
|
// if (-1 == connect(allFds.userData[userNbr].fd, (struct sockaddr *)&allFds.userData[userNbr].addr, sizeof(allFds.userData[userNbr].addr)))
|
||||||
// ft_error("connect() error");
|
// ft_error("connect() error");
|
||||||
|
|
||||||
|
if (allFds.userData[userNbr].password.empty() || allFds.userData[userNbr].password != allFds.password)
|
||||||
|
{
|
||||||
|
std::cout << "password= " << allFds.userData[userNbr].password << std::endl;
|
||||||
|
cmd_error(allFds, allFds.userData[userNbr].fd, "464 * :Password incorrect\n");
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
//464 ERR_PASSWDMISMATCH
|
||||||
|
//":Password incorrect"
|
||||||
|
|
||||||
allFds.userData[userNbr].registered = 1;
|
allFds.userData[userNbr].registered = 1;
|
||||||
print_registered_msg(allFds, userNbr);
|
print_registered_msg(allFds, userNbr);
|
||||||
std::cout << "connect client end\n";
|
std::cout << "connect client end\n";
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/06 14:28:38 by apommier #+# #+# */
|
/* Created: 2023/02/06 14:28:38 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/12 23:37:37 by apommier ### ########.fr */
|
/* Updated: 2023/02/14 01:25:31 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ void NICK(std::string buffer, fdList &allFds, int userNbr)
|
|||||||
//if nickname ok then (another user has it? )
|
//if nickname ok then (another user has it? )
|
||||||
//ERR_NONICKNAMEGIVEN
|
//ERR_NONICKNAMEGIVEN
|
||||||
allFds.userData[userNbr].nickname = splitBuff[1];
|
allFds.userData[userNbr].nickname = splitBuff[1];
|
||||||
if (!allFds.userData[userNbr].registered && !allFds.userData[userNbr].userName.empty())
|
if (!allFds.userData[userNbr].registered && !allFds.userData[userNbr].userName.empty() /*&& !allFds.userData[userNbr].password.empty()*/)
|
||||||
{
|
{
|
||||||
connect_client(allFds, userNbr);
|
connect_client(allFds, userNbr);
|
||||||
// allFds.userData[userNbr].registered = 1;
|
// allFds.userData[userNbr].registered = 1;
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/06 14:40:42 by apommier #+# #+# */
|
/* Created: 2023/02/06 14:40:42 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/13 17:33:51 by apommier ### ########.fr */
|
/* Updated: 2023/02/14 02:28:03 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -36,5 +36,5 @@ void PASS(std::string buffer, fdList &allFds, int userNbr)
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
password = buffer.substr(5, buffer.npos);
|
password = buffer.substr(5, buffer.npos);
|
||||||
allFds.userData[userNbr].password = buffer;
|
allFds.userData[userNbr].password = password;
|
||||||
}
|
}
|
||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/06 14:40:39 by apommier #+# #+# */
|
/* Created: 2023/02/06 14:40:39 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/13 20:05:39 by apommier ### ########.fr */
|
/* Updated: 2023/02/14 01:25:22 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ void USER(std::string buffer, fdList &allFds, int userNbr)
|
|||||||
allFds.userData[userNbr].serverName = splitBuff[3];
|
allFds.userData[userNbr].serverName = splitBuff[3];
|
||||||
|
|
||||||
allFds.userData[userNbr].realName = realName;
|
allFds.userData[userNbr].realName = realName;
|
||||||
if (!allFds.userData[userNbr].nickname.empty())
|
if (!allFds.userData[userNbr].nickname.empty() /*&& !allFds.userData[userNbr].password.empty()*/)
|
||||||
{
|
{
|
||||||
connect_client(allFds, userNbr);
|
connect_client(allFds, userNbr);
|
||||||
// allFds.userData[userNbr].registered = 1;
|
// allFds.userData[userNbr].registered = 1;
|
||||||
|
|||||||
@ -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/13 20:21:28 by apommier ### ########.fr */
|
/* Updated: 2023/02/14 00:41:43 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -18,7 +18,7 @@
|
|||||||
// 1459
|
// 1459
|
||||||
// ERR_NEEDMOREPARAMS + ERR_BANNEDFROMCHAN
|
// ERR_NEEDMOREPARAMS + ERR_BANNEDFROMCHAN
|
||||||
// ERR_INVITEONLYCHAN + ERR_BADCHANNELKEY
|
// ERR_INVITEONLYCHAN + ERR_BADCHANNELKEY
|
||||||
// ERR_CHANNELISFULL x ERR_BADCHANMASK ?
|
// ERR_CHANNELISFULL x ERR_BADCHANMASK ? +
|
||||||
// ERR_NOSUCHCHANNEL x ERR_TOOMANYCHANNELS x
|
// ERR_NOSUCHCHANNEL x ERR_TOOMANYCHANNELS x
|
||||||
// RPL_TOPIC
|
// RPL_TOPIC
|
||||||
|
|
||||||
@ -74,48 +74,11 @@ int chan_check(fdList &allFds, int userNbr, int chanNbr, std::vector<std::string
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void join_or_create(std::vector<std::string> splitBuff, fdList &allFds, int userNbr)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void JOIN(std::string buffer, fdList &allFds, int userNbr)
|
|
||||||
{
|
{
|
||||||
std::vector<std::string> splitBuff;
|
|
||||||
int chanNbr;
|
int chanNbr;
|
||||||
channelData joined_chan;
|
channelData joined_chan;
|
||||||
std::cout << "==========join start========\n";
|
|
||||||
|
|
||||||
std::cout << "userNbr= " << userNbr << std::endl;
|
|
||||||
if (!allFds.userData[userNbr].registered)
|
|
||||||
{
|
|
||||||
/*change error*/
|
|
||||||
cmd_error(allFds, allFds.userData[userNbr].fd, "451 * JOIN :You have not registered\n"); //ERR_NEEDMOREPARAMS
|
|
||||||
return ;
|
|
||||||
}
|
|
||||||
split(buffer, ' ', splitBuff);
|
|
||||||
if (splitBuff.size() < 2)
|
|
||||||
{
|
|
||||||
/*change error*/
|
|
||||||
cmd_error(allFds, allFds.userData[userNbr].fd, "461 * JOIN :Not enough parameters\n"); //ERR_NEEDMOREPARAMS
|
|
||||||
return ;
|
|
||||||
}
|
|
||||||
//if (splitBuff[1].find(' ') != std::string::npos || splitBuff[1].find(7) != std::string::npos)
|
|
||||||
if (splitBuff[1][0] != '#' && splitBuff[1][0] != '&')
|
|
||||||
{
|
|
||||||
//leave_all(allFds, userNbr);
|
|
||||||
return ;
|
|
||||||
}
|
|
||||||
if (splitBuff[1] == "0")
|
|
||||||
{
|
|
||||||
leave_all(allFds, userNbr);
|
|
||||||
return ;
|
|
||||||
}
|
|
||||||
chanNbr = find_channel(allFds, splitBuff[1]);
|
chanNbr = find_channel(allFds, splitBuff[1]);
|
||||||
if (chanNbr != -1) //chan already exist
|
if (chanNbr != -1) //chan already exist
|
||||||
{
|
{
|
||||||
@ -146,5 +109,50 @@ void JOIN(std::string buffer, fdList &allFds, int userNbr)
|
|||||||
send(joined_chan.userList[i]->fd, fullMsg.c_str(), fullMsg.size(), 0);
|
send(joined_chan.userList[i]->fd, fullMsg.c_str(), fullMsg.size(), 0);
|
||||||
std::cout << "loop here\n";
|
std::cout << "loop here\n";
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void JOIN(std::string buffer, fdList &allFds, int userNbr)
|
||||||
|
{
|
||||||
|
std::vector<std::string> splitBuff;
|
||||||
|
std::string msg;
|
||||||
|
std::cout << "==========join start========\n";
|
||||||
|
|
||||||
|
std::cout << "userNbr= " << userNbr << std::endl;
|
||||||
|
if (!allFds.userData[userNbr].registered)
|
||||||
|
{
|
||||||
|
/*change error*/
|
||||||
|
cmd_error(allFds, allFds.userData[userNbr].fd, "451 * JOIN :You have not registered\n"); //ERR_NEEDMOREPARAMS
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
split(buffer, ' ', splitBuff);
|
||||||
|
if (splitBuff.size() < 2)
|
||||||
|
{
|
||||||
|
/*change error*/
|
||||||
|
cmd_error(allFds, allFds.userData[userNbr].fd, "461 * JOIN :Not enough parameters\n"); //ERR_NEEDMOREPARAMS
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
//if (splitBuff[1].find(' ') != std::string::npos || splitBuff[1].find(7) != std::string::npos)
|
||||||
|
if (splitBuff[1][0] != '#' && splitBuff[1][0] != '&')
|
||||||
|
{
|
||||||
|
//error bad channel name
|
||||||
|
msg = "476 * JOIN " + splitBuff[1] + " ::Bad Channel Mask\n";
|
||||||
|
cmd_error(allFds, allFds.userData[userNbr].fd, msg);
|
||||||
|
//:Bad Channel Mask
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
if (splitBuff[1] == "0")
|
||||||
|
{
|
||||||
|
leave_all(allFds, userNbr);
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
join_or_create(splitBuff, allFds, userNbr);
|
||||||
//send 352 and 315 or 353 and 366 (WHO or NAME)
|
//send 352 and 315 or 353 and 366 (WHO or NAME)
|
||||||
}
|
}
|
||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/13 00:16:27 by apommier #+# #+# */
|
/* Created: 2023/02/13 00:16:27 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/13 22:54:14 by apommier ### ########.fr */
|
/* Updated: 2023/02/14 00:11:54 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -51,8 +51,13 @@ void PING(std::string buffer, fdList &allFds, int userNbr)
|
|||||||
std::string msg;
|
std::string msg;
|
||||||
std::vector<std::string> splitBuff;
|
std::vector<std::string> splitBuff;
|
||||||
split(buffer, ' ', splitBuff);
|
split(buffer, ' ', splitBuff);
|
||||||
msg = ":irc.local PONG irc.local :irc.local";
|
msg = ":irc.local PONG irc.local :" + splitBuff[1] + "\n";
|
||||||
|
//msg = "PONG irc.local " + splitBuff[1];
|
||||||
send(allFds.userData[userNbr].fd, msg.c_str(), msg.size(), 0);
|
send(allFds.userData[userNbr].fd, msg.c_str(), msg.size(), 0);
|
||||||
|
std::cout << "pong send\n";
|
||||||
|
std::cout << "/r = " << (int)'\r' << "\n";
|
||||||
|
std::cout << "/n = " << (int)'\n' << "\n";
|
||||||
|
std::cout << "msg=" << msg << "\n";
|
||||||
// if (splitBuff.size() < 2)
|
// if (splitBuff.size() < 2)
|
||||||
// {
|
// {
|
||||||
// cmd_error(allFds, allFds.userData[userNbr].fd, "431 * NICK :No nickname given\n");
|
// cmd_error(allFds, allFds.userData[userNbr].fd, "431 * NICK :No nickname given\n");
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/12/06 22:01:25 by apommier #+# #+# */
|
/* Created: 2022/12/06 22:01:25 by apommier #+# #+# */
|
||||||
/* Updated: 2023/02/13 19:44:43 by apommier ### ########.fr */
|
/* Updated: 2023/02/14 01:16:34 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|||||||
@ -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/12 22:35:11 by apommier ### ########.fr */
|
/* Updated: 2023/02/14 03:00:42 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -14,21 +14,20 @@
|
|||||||
|
|
||||||
int main(int ac, char **av)
|
int main(int ac, char **av)
|
||||||
{
|
{
|
||||||
if (!(ac == 3 || ac == 2))
|
if (!(ac == 3))
|
||||||
{
|
{
|
||||||
//ft_error("wrong number of arguments\nFORMAT: ./ircserv <port> <password>");
|
//ft_error("wrong number of arguments\nFORMAT: ./ircserv <port> <password>");
|
||||||
std::cout << "wrong number of arguments\nFORMAT: ./ircserv <port> <password>\n";
|
std::cout << "wrong number of arguments\nFORMAT: ./ircserv <port> <password>\n";
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
std::cout << "============Homemade IRC Server start============" << std::endl;
|
std::cout << "============Homemade IRC Server start============" << std::endl;
|
||||||
// try
|
try
|
||||||
// {
|
{
|
||||||
// initialize(av);
|
|
||||||
// }
|
|
||||||
// catch
|
|
||||||
// {
|
|
||||||
|
|
||||||
// }
|
|
||||||
initialize(av);
|
initialize(av);
|
||||||
|
}
|
||||||
|
catch(std::exception &e)
|
||||||
|
{
|
||||||
|
std::cout << "Fatal error causing the end of the program :/\n";
|
||||||
|
}
|
||||||
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/13 00:04:55 by apommier ### ########.fr */
|
/* Updated: 2023/02/14 01:51:55 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -30,7 +30,8 @@ void initialize(char **av)
|
|||||||
|
|
||||||
//allFds.userData.reserve(MAX_EVENTS);
|
//allFds.userData.reserve(MAX_EVENTS);
|
||||||
//allFds.channelList.reserve(MAX_CHAN);
|
//allFds.channelList.reserve(MAX_CHAN);
|
||||||
|
allFds.password = av[2];
|
||||||
|
std::cout << "pass= " << av[2] << std::endl;
|
||||||
allFds.nbrUser = 0;
|
allFds.nbrUser = 0;
|
||||||
allFds.serverFd = socket(AF_INET, SOCK_STREAM, 0);
|
allFds.serverFd = socket(AF_INET, SOCK_STREAM, 0);
|
||||||
if (allFds.serverFd == -1)
|
if (allFds.serverFd == -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/13 10:52:07 by apommier ### ########.fr */
|
/* Updated: 2023/02/14 02:56:48 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -18,7 +18,8 @@ void ft_error(std::string str)
|
|||||||
if (errno)
|
if (errno)
|
||||||
{
|
{
|
||||||
std::cerr << "errno: " << strerror(errno) << std::endl;
|
std::cerr << "errno: " << strerror(errno) << std::endl;
|
||||||
exit(errno);
|
throw std::bad_alloc();
|
||||||
|
//exit(errno);
|
||||||
}
|
}
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user