From 77beb097db502ab122d38464fe6ce2aef48ef991 Mon Sep 17 00:00:00 2001 From: kinou-p Date: Fri, 10 Mar 2023 21:24:16 +0100 Subject: [PATCH] delete all nbrUser in chanData for all files --- includes/ft_irc.hpp | 4 ++-- srcs/commands/auth/user.cpp | 7 ++++--- srcs/commands/channel/join.cpp | 24 ++++++++++++------------ srcs/commands/channel/part.cpp | 16 ++++++++-------- srcs/commands/channel/privmsg.cpp | 16 ++++++++-------- srcs/commands/channel_op/invite.cpp | 18 +++++++++--------- srcs/commands/channel_op/kick.cpp | 18 +++++++++--------- srcs/commands/channel_op/topic.cpp | 12 ++++++------ srcs/commands/operator/kill.cpp | 10 +++++----- srcs/commands/operator/oper.cpp | 14 +++++++------- srcs/commands/operator/squit.cpp | 10 +++++----- srcs/commands/operator/wallops.cpp | 6 +++--- srcs/commands/other/names.cpp | 4 ++-- srcs/commands/other/ping_pong.cpp | 6 +++--- srcs/commands/other/who.cpp | 8 ++++---- srcs/delete_user.cpp | 4 ++-- srcs/start_server.cpp | 4 ++-- 17 files changed, 91 insertions(+), 90 deletions(-) diff --git a/includes/ft_irc.hpp b/includes/ft_irc.hpp index ea8e649..0e63c67 100644 --- a/includes/ft_irc.hpp +++ b/includes/ft_irc.hpp @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/12/01 17:27:37 by apommier #+# #+# */ -/* Updated: 2023/03/09 05:45:36 by apommier ### ########.fr */ +/* Updated: 2023/03/10 21:04:49 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -49,7 +49,7 @@ // if (!allFds.userData[userNbr].registered) // { // /*change error*/ - // cmd_error(allFds, allFds.userData[userNbr].fd, "451 * JOIN :You have not registered\n"); //ERR_NEEDMOREPARAMS + // cmd_error(allFds, allFds.userData[userNbr].fd, "451 " + allFds.userData[userNbr].nickname + " JOIN :You have not registered\n"); //ERR_NEEDMOREPARAMS // return ; // } diff --git a/srcs/commands/auth/user.cpp b/srcs/commands/auth/user.cpp index c67ae44..8c0bbcf 100644 --- a/srcs/commands/auth/user.cpp +++ b/srcs/commands/auth/user.cpp @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/06 14:40:39 by apommier #+# #+# */ -/* Updated: 2023/03/09 05:01:38 by apommier ### ########.fr */ +/* Updated: 2023/03/10 20:59:45 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,7 +21,8 @@ void USER(std::string buffer, fdList &allFds, int userNbr) { if (allFds.userData[userNbr].registered == 1) { - cmd_error(allFds, allFds.userData[userNbr].fd, "462 * USER :You may not reregister\n"); +// " + allFds.userData[userNbr].nickname + " + cmd_error(allFds, allFds.userData[userNbr].fd, "462 " + allFds.userData[userNbr].nickname + " USER :You may not reregister\n"); return ; } @@ -35,7 +36,7 @@ void USER(std::string buffer, fdList &allFds, int userNbr) split(buffer, ' ', splitBuff); if (splitBuff.size() < 4) { - cmd_error(allFds, allFds.userData[userNbr].fd, "461 * USER :Not enough parameters\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "461 " + allFds.userData[userNbr].nickname + "USER :Not enough parameters\n"); //write(allFds.userData[userNbr].fd, "ERR_NEEDMOREPARAMS", 18); return ; } diff --git a/srcs/commands/channel/join.cpp b/srcs/commands/channel/join.cpp index 44f40af..93c86a7 100644 --- a/srcs/commands/channel/join.cpp +++ b/srcs/commands/channel/join.cpp @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/09 15:40:33 by apommier #+# #+# */ -/* Updated: 2023/03/09 05:18:05 by apommier ### ########.fr */ +/* Updated: 2023/03/10 21:21:15 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -41,13 +41,13 @@ int chan_check(fdList &allFds, int userNbr, int chanNbr, std::vector= (size_t)allFds.channelList[chanNbr].maxUser) { - errorStr = "471 * JOIN " + allFds.channelList[chanNbr].name + " :Cannot join channel (+l)\n"; + errorStr = "471 " + allFds.userData[userNbr].nickname + " JOIN " + allFds.channelList[chanNbr].name + " :Cannot join channel (+l)\n"; cmd_error(allFds, allFds.userData[userNbr].fd, errorStr); //ERR_CHANNELISFULL return (0); } @@ -86,7 +86,7 @@ void join_or_create(std::string buffer, fdList &allFds, int userNbr) return ; allFds.userData[userNbr].joinedChan.push_back(&allFds.channelList[chanNbr]); //add chan in user data allFds.channelList[chanNbr].userList.push_back(&allFds.userData[userNbr]);//add user in chan data - allFds.channelList[chanNbr].nbrUser++; + //allFds.channelList[chanNbr].size()++; joined_chan = *(allFds.userData[userNbr].joinedChan.back()); if ((invitedUser = find_client_list(allFds.channelList[chanNbr].invitedList, &allFds.userData[userNbr])) != -1) allFds.channelList[chanNbr].invitedList.erase(allFds.channelList[chanNbr].invitedList.begin() + invitedUser); @@ -96,9 +96,9 @@ void join_or_create(std::string buffer, fdList &allFds, int userNbr) std::cout << "new chan\n"; channelData new_chan; if (splitBuff[1][0] != '#' && splitBuff[1][0] != '&') - cmd_error(allFds, allFds.userData[userNbr].fd, "476 * " + splitBuff[1] + " :Bad Channel Mask\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "476 " + allFds.userData[userNbr].nickname + " " + splitBuff[1] + " :Bad Channel Mask\n"); 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]); joined_chan = new_chan; @@ -157,7 +157,7 @@ void join_loop(fdList &allFds, std::vector splitBuff, int userNbr) if (splitChan[i][0] != '#' && splitChan[i][0] != '&') { //error bad channel name - buffer = "476 * JOIN " + splitChan[i] + " ::Bad Channel Mask\n"; + buffer = "476 " + allFds.userData[userNbr].nickname + " JOIN " + splitChan[i] + " ::Bad Channel Mask\n"; cmd_error(allFds, allFds.userData[userNbr].fd, buffer); //:Bad Channel Mask //std::cout << "bad chan mask\n"; @@ -185,7 +185,7 @@ void JOIN(std::string buffer, fdList &allFds, int userNbr) std::cout << "userNbr= " << userNbr << std::endl; if (!allFds.userData[userNbr].registered) { - cmd_error(allFds, allFds.userData[userNbr].fd, "451 * JOIN :You have not registered\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "451 " + allFds.userData[userNbr].nickname + " JOIN :You have not registered\n"); return ; } split(buffer, ' ', splitBuff); @@ -193,7 +193,7 @@ void JOIN(std::string buffer, fdList &allFds, int userNbr) { /*change error*/ //std::cout << "JOIN : need more param\n"; - cmd_error(allFds, allFds.userData[userNbr].fd, "461 * JOIN :Not enough parameters\n"); //ERR_NEEDMOREPARAMS + cmd_error(allFds, allFds.userData[userNbr].fd, "461 " + allFds.userData[userNbr].nickname + " JOIN :Not enough parameters\n"); //ERR_NEEDMOREPARAMS return ; } join_loop(allFds, splitBuff, userNbr); diff --git a/srcs/commands/channel/part.cpp b/srcs/commands/channel/part.cpp index 7d5df39..7d46e1a 100644 --- a/srcs/commands/channel/part.cpp +++ b/srcs/commands/channel/part.cpp @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/19 22:10:07 by apommier #+# #+# */ -/* Updated: 2023/03/09 05:54:44 by apommier ### ########.fr */ +/* Updated: 2023/03/10 21:20:26 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,18 +19,18 @@ void leave_chan(fdList &allFds, std::string chan, int userNbr, std::string msg) if ((chanPos = find_channel(allFds, chan)) == -1) { - cmd_error(allFds, allFds.userData[userNbr].fd, "401 * PART " + chan + " :No such channel\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "401 " + allFds.userData[userNbr].nickname + " PART " + chan + " :No such channel\n"); return ; } if (is_joined(allFds, chan, userNbr) == -1) { - cmd_error(allFds, allFds.userData[userNbr].fd, "422 * " + chan + " :You're not on that channel\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "422 " + allFds.userData[userNbr].nickname + " " + chan + " :You're not on that channel\n"); return ; } //del_user_in_chan(&allFds.userData[userNbr], &allFds.channelList[chanPos]); int pos = find_client_list(allFds.channelList[chanPos].userList, &allFds.userData[userNbr]); allFds.channelList[chanPos].userList.erase(allFds.channelList[chanPos].userList.begin() + pos); - allFds.channelList[chanPos].nbrUser--; + //allFds.channelList[chanPos].size()--; del_chan_in_user(&allFds.userData[userNbr], &allFds.channelList[chanPos]); //:WiZ!jto@tolsun.oulu.fi PART #playzone :I lost //:awd!kinou@kinou PART #test @@ -52,8 +52,8 @@ void leave_chan(fdList &allFds, std::string chan, int userNbr, std::string msg) // reply += "\n"; //std::cout << "leave msg=" << reply << std::endl; send(allFds.userData[userNbr].fd, reply.c_str(), reply.size(), 0); - //allFds.channelList[chanPos].nbrUser--; - for (int i = 0; i < allFds.channelList[chanPos].nbrUser; i++) + //allFds.channelList[chanPos].size()--; + for (size_t i = 0; i < allFds.channelList[chanPos].userList.size(); i++) { if (allFds.channelList[chanPos].userList[i]->mode.s) send(allFds.channelList[chanPos].userList[i]->fd, reply.c_str(), reply.size(), 0); @@ -71,13 +71,13 @@ void PART(std::string buffer, fdList &allFds, int userNbr) if (!allFds.userData[userNbr].registered) { - cmd_error(allFds, allFds.userData[userNbr].fd, "451 * PART :You have not registered\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "451 " + allFds.userData[userNbr].nickname + " PART :You have not registered\n"); return ; } split(buffer, ' ', splitBuff); if (splitBuff.size() < 2) { - cmd_error(allFds, allFds.userData[userNbr].fd, "431 * PART :Not enought argument\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "431 " + allFds.userData[userNbr].nickname + " PART :Not enought argument\n"); return ; } split(splitBuff[1], ',', splitChan); diff --git a/srcs/commands/channel/privmsg.cpp b/srcs/commands/channel/privmsg.cpp index 86d1b24..53212db 100644 --- a/srcs/commands/channel/privmsg.cpp +++ b/srcs/commands/channel/privmsg.cpp @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/11 08:53:03 by apommier #+# #+# */ -/* Updated: 2023/03/09 05:54:52 by apommier ### ########.fr */ +/* Updated: 2023/03/10 21:04:49 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -27,19 +27,19 @@ void PRIVMSG(std::string buffer, fdList &allFds, int userNbr) if (!allFds.userData[userNbr].registered) { - cmd_error(allFds, allFds.userData[userNbr].fd, "451 * PRIVMSG :You have not registered\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "451 " + allFds.userData[userNbr].nickname + " PRIVMSG :You have not registered\n"); return ; } //std::cout << "privmsg bufer= --" << buffer << std::endl; split(buffer, ' ', splitBuff); if (splitBuff.size() < 2) { - cmd_error(allFds, allFds.userData[userNbr].fd, "431 * PRIVMSG :Not enought argument\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "431 " + allFds.userData[userNbr].nickname + " PRIVMSG :Not enought argument\n"); return ; } if (splitBuff.size() < 3) { - cmd_error(allFds, allFds.userData[userNbr].fd, "412 * PRIVMSG :No text to send\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "412 " + allFds.userData[userNbr].nickname + " PRIVMSG :No text to send\n"); return ; } //std::cout << "privmsg =" << msg << std::endl; @@ -60,12 +60,12 @@ void send_msg(fdList &allFds, std::string msg, std::string dest, int userNbr) pos = find_channel(allFds, dest); if (pos == -1) { - cmd_error(allFds, allFds.userData[userNbr].fd, "401 * PRIVMSG " + dest + " :No such channel\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "401 " + allFds.userData[userNbr].nickname + " PRIVMSG " + dest + " :No such channel\n"); return ; } if (allFds.channelList[pos].mode.n && is_joined(allFds, dest, userNbr) == -1 ) { - cmd_error(allFds, allFds.userData[userNbr].fd, "442 * PRIVMSG " + dest + " :You're not on that channel\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "442 " + allFds.userData[userNbr].nickname + " PRIVMSG " + dest + " :You're not on that channel\n"); return ; } // if (find_client_list(allFds.channelList[pos].verboseList, &allFds.userData[userNbr]) != -1) @@ -76,7 +76,7 @@ void send_msg(fdList &allFds, std::string msg, std::string dest, int userNbr) && !is_chan_op(allFds, &allFds.channelList[pos], userNbr) && find_client_list(allFds.channelList[pos].verboseList, &allFds.userData[userNbr]) == -1) { - cmd_error(allFds, allFds.userData[userNbr].fd, "404 * PRIVMSG " + dest + " :Cannot send to channel\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "404 " + allFds.userData[userNbr].nickname + " PRIVMSG " + dest + " :Cannot send to channel\n"); return ; } for (size_t i = 0; i < allFds.channelList[pos].userList.size(); i++) @@ -96,7 +96,7 @@ void send_msg(fdList &allFds, std::string msg, std::string dest, int userNbr) //std::cout << "pos of user = " << pos << std::endl; if (pos == -1) { - cmd_error(allFds, allFds.userData[userNbr].fd, "401 * PRIVMSG " + dest + " :No such nick\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "401 " + allFds.userData[userNbr].nickname + " PRIVMSG " + dest + " :No such nick\n"); return ; } if (allFds.userData[pos].mode.s) diff --git a/srcs/commands/channel_op/invite.cpp b/srcs/commands/channel_op/invite.cpp index 59fd8e3..79e70ff 100644 --- a/srcs/commands/channel_op/invite.cpp +++ b/srcs/commands/channel_op/invite.cpp @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/11 19:19:56 by apommier #+# #+# */ -/* Updated: 2023/03/09 05:54:59 by apommier ### ########.fr */ +/* Updated: 2023/03/10 21:04:49 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -30,45 +30,45 @@ void INVITE(std::string buffer, fdList &allFds, int userNbr) if (!allFds.userData[userNbr].registered) { - cmd_error(allFds, allFds.userData[userNbr].fd, "451 * INVITE :You have not registered\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "451 " + allFds.userData[userNbr].nickname + " INVITE :You have not registered\n"); return ; } split(buffer, ' ', splitBuff); if (splitBuff.size() < 3) { - cmd_error(allFds, allFds.userData[userNbr].fd, "461 * INVITE :Not enough parameters\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "461 " + allFds.userData[userNbr].nickname + " INVITE :Not enough parameters\n"); return ; } if ((invitedNbr = find_user(allFds, splitBuff[1])) == -1) { - cmd_error(allFds, allFds.userData[userNbr].fd, "401 * " + splitBuff[1] + " :No such nick\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "401 " + allFds.userData[userNbr].nickname + " " + splitBuff[1] + " :No such nick\n"); return ; } if (is_joined(allFds, splitBuff[2], userNbr) == -1) { - cmd_error(allFds, allFds.userData[userNbr].fd, "422 * " + splitBuff[2] + " :You're not on that channel\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "422 " + allFds.userData[userNbr].nickname + " " + splitBuff[2] + " :You're not on that channel\n"); return ; } if (is_joined(allFds, splitBuff[2], invitedNbr) != -1) { - cmd_error(allFds, allFds.userData[userNbr].fd, "443 * " + splitBuff[1] + " " + splitBuff[2] + " :is already on channel\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "443 " + allFds.userData[userNbr].nickname + " " + splitBuff[1] + " " + splitBuff[2] + " :is already on channel\n"); return ; } // if (is_joined(allFds, splitBuff[2], invitedNbr) != -1) // { - // cmd_error(allFds, allFds.userData[userNbr].fd, "443 * " + splitBuff[1] + " " + splitBuff[2] + " :is already on channel\n"); + // cmd_error(allFds, allFds.userData[userNbr].fd, "443 " + allFds.userData[userNbr].nickname + " " + splitBuff[1] + " " + splitBuff[2] + " :is already on channel\n"); // return ; // } if ((chanNbr = find_channel(allFds, splitBuff[2])) != -1) { chan = allFds.channelList[chanNbr]; if (!is_chan_op(allFds, &chan, userNbr)) - cmd_error(allFds, allFds.userData[userNbr].fd, "482 * " + splitBuff[2] + " :You're not channel operator\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "482 " + allFds.userData[userNbr].nickname + " " + splitBuff[2] + " :You're not channel operator\n"); return ; } else if (!allFds.userData[userNbr].op) { - cmd_error(allFds, allFds.userData[userNbr].fd, "482 * " + splitBuff[2] + " :You're not channel operator\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "482 " + allFds.userData[userNbr].nickname + " " + splitBuff[2] + " :You're not channel operator\n"); return ; } std::cout << "invite him !!!!" << splitBuff[1] << " to " << splitBuff[2] << std::endl; diff --git a/srcs/commands/channel_op/kick.cpp b/srcs/commands/channel_op/kick.cpp index 953e6ab..24341ac 100644 --- a/srcs/commands/channel_op/kick.cpp +++ b/srcs/commands/channel_op/kick.cpp @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/11 19:19:32 by apommier #+# #+# */ -/* Updated: 2023/03/09 05:25:45 by apommier ### ########.fr */ +/* Updated: 2023/03/10 21:21:43 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -25,30 +25,30 @@ void KICK(std::string buffer, fdList &allFds, int userNbr) if (!allFds.userData[userNbr].registered) { - cmd_error(allFds, allFds.userData[userNbr].fd, "451 * KICK :You have not registered\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "451 " + allFds.userData[userNbr].nickname + " KICK :You have not registered\n"); return ; } split(buffer, ' ', splitBuff); if (splitBuff.size() < 3) { - cmd_error(allFds, allFds.userData[userNbr].fd, "431 * KICK :Not enought argument\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "431 " + allFds.userData[userNbr].nickname + " 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 channel\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "401 " + allFds.userData[userNbr].nickname + " KICK " + splitBuff[1] + " :No such 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"); + cmd_error(allFds, allFds.userData[userNbr].fd, "422 " + allFds.userData[userNbr].nickname + " " + splitBuff[1] + " :You're not on that channel\n"); return ; } if ((find_user(allFds, splitBuff[2])) == -1) { - cmd_error(allFds, allFds.userData[userNbr].fd, "401 * KICK " + splitBuff[1] + " :No such nick\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "401 " + allFds.userData[userNbr].nickname + " KICK " + splitBuff[1] + " :No such nick\n"); return ; } @@ -57,7 +57,7 @@ void KICK(std::string buffer, fdList &allFds, int userNbr) 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"); + cmd_error(allFds, allFds.userData[userNbr].fd, "482 " + allFds.userData[userNbr].nickname + " " + splitBuff[1] + " :You're not channel operator\n"); return ; } } @@ -75,7 +75,7 @@ void KICK(std::string buffer, fdList &allFds, int userNbr) std::cout << "kick msg---" << msg << "---" << std::endl; send(allFds.userData[userPos].fd, msg.c_str(), msg.size(), 0); //send_msg(allFds, msg, splitBuff[1], userNbr); - for (int i = 0; i < allFds.channelList[chanPos].nbrUser; i++) + for (size_t i = 0; i < allFds.channelList[chanPos].userList.size(); i++) { if (allFds.channelList[chanPos].userList[i]->mode.s) send(allFds.channelList[chanPos].userList[i]->fd, kickMsg.c_str(), kickMsg.size(), 0); @@ -84,7 +84,7 @@ void KICK(std::string buffer, fdList &allFds, int userNbr) // else if (!allFds.userData[userNbr].op) // { - // cmd_error(allFds, allFds.userData[userNbr].fd, "482 * " + splitBuff[1] + " :You're not channel operator\n"); + // cmd_error(allFds, allFds.userData[userNbr].fd, "482 " + allFds.userData[userNbr].nickname + " " + splitBuff[1] + " :You're not channel operator\n"); // return ; // } return ; diff --git a/srcs/commands/channel_op/topic.cpp b/srcs/commands/channel_op/topic.cpp index b812edc..98b4f15 100644 --- a/srcs/commands/channel_op/topic.cpp +++ b/srcs/commands/channel_op/topic.cpp @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/11 19:19:52 by apommier #+# #+# */ -/* Updated: 2023/02/23 17:47:37 by apommier ### ########.fr */ +/* Updated: 2023/03/10 21:04:49 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,18 +21,18 @@ void TOPIC(std::string buffer, fdList &allFds, int userNbr) std::cout << "topic im here1\n";//RPL_NOTOPIC //RPL_TOPIC if (!allFds.userData[userNbr].registered) { - cmd_error(allFds, allFds.userData[userNbr].fd, "451 * TOPIC :You have not registered\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "451 " + allFds.userData[userNbr].nickname + " TOPIC :You have not registered\n"); return ; } split(buffer, ' ', splitBuff); if (splitBuff.size() < 2) { - cmd_error(allFds, allFds.userData[userNbr].fd, "461 * TOPIC :Not enough parameters\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "461 " + allFds.userData[userNbr].nickname + " 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"); + cmd_error(allFds, allFds.userData[userNbr].fd, "422 " + allFds.userData[userNbr].nickname + " " + splitBuff[1] + " :You're not on that channel\n"); return ; } if ((chanNbr = find_channel(allFds, splitBuff[1])) != -1) @@ -40,13 +40,13 @@ void TOPIC(std::string buffer, fdList &allFds, int userNbr) 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"); + cmd_error(allFds, allFds.userData[userNbr].fd, "482 " + allFds.userData[userNbr].nickname + " " + 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"); + // cmd_error(allFds, allFds.userData[userNbr].fd, "482 " + allFds.userData[userNbr].nickname + " " + splitBuff[1] + " :You're not channel operator\n"); // return ; // } std::cout << "topic im here2\n";//RPL_NOTOPIC //RPL_TOPIC diff --git a/srcs/commands/operator/kill.cpp b/srcs/commands/operator/kill.cpp index b43ca24..3b12247 100644 --- a/srcs/commands/operator/kill.cpp +++ b/srcs/commands/operator/kill.cpp @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/15 16:34:57 by apommier #+# #+# */ -/* Updated: 2023/03/09 05:55:10 by apommier ### ########.fr */ +/* Updated: 2023/03/10 21:04:49 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,24 +19,24 @@ void KILL(std::string buffer, fdList &allFds, int userNbr) if (!allFds.userData[userNbr].registered) { - cmd_error(allFds, allFds.userData[userNbr].fd, "451 * KILL :You have not registered\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "451 " + allFds.userData[userNbr].nickname + " KILL :You have not registered\n"); return ; } split(buffer, ' ', splitBuff); if (splitBuff.size() < 3) { - cmd_error(allFds, allFds.userData[userNbr].fd, "431 * KILL :Not enought argument\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "431 " + allFds.userData[userNbr].nickname + " KILL :Not enought argument\n"); return ; } if (!allFds.userData[userNbr].op) { - cmd_error(allFds, allFds.userData[userNbr].fd, "481 * :Permission Denied- You're not an IRC operator\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "481 " + allFds.userData[userNbr].nickname + " :Permission Denied- You're not an IRC operator\n"); return ; } pos = find_user(allFds, splitBuff[1]); if (pos == -1) { - cmd_error(allFds, allFds.userData[userNbr].fd, "401 * KILL " + splitBuff[1] + " :No such nick\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "401 " + allFds.userData[userNbr].nickname + " KILL " + splitBuff[1] + " :No such nick\n"); return ; } std::string msg; diff --git a/srcs/commands/operator/oper.cpp b/srcs/commands/operator/oper.cpp index 0f3cd02..b0c4706 100644 --- a/srcs/commands/operator/oper.cpp +++ b/srcs/commands/operator/oper.cpp @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/11 19:04:47 by apommier #+# #+# */ -/* Updated: 2023/02/23 17:48:01 by apommier ### ########.fr */ +/* Updated: 2023/03/10 21:04:49 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,34 +19,34 @@ void OPER(std::string buffer, fdList &allFds, int userNbr) if (!allFds.userData[userNbr].registered) { - cmd_error(allFds, allFds.userData[userNbr].fd, "451 * OPER :You have not registered\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "451 " + allFds.userData[userNbr].nickname + " OPER :You have not registered\n"); return ; } split(buffer, ' ', splitBuff); if (splitBuff.size() < 3) { - cmd_error(allFds, allFds.userData[userNbr].fd, "461 * OPER :Not enough parameters\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "461 " + allFds.userData[userNbr].nickname + " OPER :Not enough parameters\n"); return ; } //:irc.local 491 kinou2 if (splitBuff[1] != OP_NAME) { - cmd_error(allFds, allFds.userData[userNbr].fd, "491 * :Invalid oper credentials\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "491 " + allFds.userData[userNbr].nickname + " :Invalid oper credentials\n"); return ; } if (splitBuff[2] != OP_PASSWORD) { - cmd_error(allFds, allFds.userData[userNbr].fd, "464 * :Password incorrect\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "464 " + allFds.userData[userNbr].nickname + " :Password incorrect\n"); return ; } // pos = find_user(allFds, splitBuff[1]); // if (pos != -1) // { - // cmd_error(allFds, allFds.userData[userNbr].fd, "401 * SQUIT " + splitBuff[1] + " :No such nick/channel\n"); + // cmd_error(allFds, allFds.userData[userNbr].fd, "401 " + allFds.userData[userNbr].nickname + " SQUIT " + splitBuff[1] + " :No such nick/channel\n"); // return ; // } 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 + " " + allFds.userData[userNbr].nickname + " :You are now an IRC operator\n"; send(allFds.userData[userNbr].fd, msg.c_str(), msg.size(), 0); } \ No newline at end of file diff --git a/srcs/commands/operator/squit.cpp b/srcs/commands/operator/squit.cpp index 1b0df1b..0eac913 100644 --- a/srcs/commands/operator/squit.cpp +++ b/srcs/commands/operator/squit.cpp @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/11 19:11:03 by apommier #+# #+# */ -/* Updated: 2023/03/08 02:09:55 by apommier ### ########.fr */ +/* Updated: 2023/03/10 21:04:49 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -25,23 +25,23 @@ void SQUIT(std::string buffer, fdList &allFds, int userNbr) if (!allFds.userData[userNbr].registered) { - cmd_error(allFds, allFds.userData[userNbr].fd, "451 * SQUIT :You have not registered\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "451 " + allFds.userData[userNbr].nickname + " SQUIT :You have not registered\n"); return ; } if (splitBuff.size() < 2) { - cmd_error(allFds, allFds.userData[userNbr].fd, "431 * SQUIT :Not enought argument\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "431 " + allFds.userData[userNbr].nickname + " SQUIT :Not enought argument\n"); return ; } if (!allFds.userData[userNbr].op) { - cmd_error(allFds, allFds.userData[userNbr].fd, "481 * :Permission Denied- You're not an IRC operator\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "481 " + allFds.userData[userNbr].nickname + " :Permission Denied- You're not an IRC operator\n"); return ; } std::cout << "squit serv= " << splitBuff[2] << std::endl; if (splitBuff[1] != "irc.local") { - cmd_error(allFds, allFds.userData[userNbr].fd, "402 * " + splitBuff[2] + " :No such server\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "402 " + allFds.userData[userNbr].nickname + " " + splitBuff[2] + " :No such server\n"); return ; } std::string fullMsg; diff --git a/srcs/commands/operator/wallops.cpp b/srcs/commands/operator/wallops.cpp index a680e58..d9aba24 100644 --- a/srcs/commands/operator/wallops.cpp +++ b/srcs/commands/operator/wallops.cpp @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/16 17:09:38 by apommier #+# #+# */ -/* Updated: 2023/02/23 17:48:22 by apommier ### ########.fr */ +/* Updated: 2023/03/10 21:04:49 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,13 +21,13 @@ void WALLOPS(std::string buffer, fdList &allFds, int userNbr) //std::cout << "privmsg bufer= --" << buffer << std::endl; if (!allFds.userData[userNbr].registered) { - cmd_error(allFds, allFds.userData[userNbr].fd, "451 * WALLOPS :You have not registered\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "451 " + allFds.userData[userNbr].nickname + " WALLOPS :You have not registered\n"); return ; } split(buffer, ' ', splitBuff); if (splitBuff.size() < 2) { - cmd_error(allFds, allFds.userData[userNbr].fd, "431 * WALLOPS :Not enought argument\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "431 " + allFds.userData[userNbr].nickname + " WALLOPS :Not enought argument\n"); return ; } msg = ":" + allFds.userData[userNbr].nickname + " WALLOPS :" + buffer.substr(splitBuff[1].size() + std::string::npos + 1) + "\n"; diff --git a/srcs/commands/other/names.cpp b/srcs/commands/other/names.cpp index 34c5a33..952a59b 100644 --- a/srcs/commands/other/names.cpp +++ b/srcs/commands/other/names.cpp @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/16 18:14:15 by apommier #+# #+# */ -/* Updated: 2023/02/23 17:48:33 by apommier ### ########.fr */ +/* Updated: 2023/03/10 21:04:49 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -43,7 +43,7 @@ void NAMES(std::string buffer, fdList &allFds, int userNbr) if (!allFds.userData[userNbr].registered) { - cmd_error(allFds, allFds.userData[userNbr].fd, "451 * NAMES :You have not registered\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "451 " + allFds.userData[userNbr].nickname + " NAMES :You have not registered\n"); return ; } split(buffer, ' ', splitBuff); diff --git a/srcs/commands/other/ping_pong.cpp b/srcs/commands/other/ping_pong.cpp index 8b0bbb1..2b62fff 100644 --- a/srcs/commands/other/ping_pong.cpp +++ b/srcs/commands/other/ping_pong.cpp @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/13 00:16:27 by apommier #+# #+# */ -/* Updated: 2023/03/09 05:02:08 by apommier ### ########.fr */ +/* Updated: 2023/03/10 21:04:49 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -33,7 +33,7 @@ void PONG(std::string buffer, fdList &allFds, int userNbr) send(allFds.userData[userNbr].fd, msg.c_str(), msg.size(), 0); // 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 " + allFds.userData[userNbr].nickname + " NICK :No nickname given\n"); // //write(allFds.userData[user].fd, "ERR_NEEDMOREPARAMS", 18); // return ; // } @@ -60,7 +60,7 @@ void PING(std::string buffer, fdList &allFds, int userNbr) //std::cout << "msg=" << msg << "\n"; // 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 " + allFds.userData[userNbr].nickname + " NICK :No nickname given\n"); // //write(allFds.userData[user].fd, "ERR_NEEDMOREPARAMS", 18); // return ; // } diff --git a/srcs/commands/other/who.cpp b/srcs/commands/other/who.cpp index b53d6da..5dd2b17 100644 --- a/srcs/commands/other/who.cpp +++ b/srcs/commands/other/who.cpp @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/16 18:14:17 by apommier #+# #+# */ -/* Updated: 2023/03/09 05:55:15 by apommier ### ########.fr */ +/* Updated: 2023/03/10 21:20:04 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -47,7 +47,7 @@ void WHO(std::string buffer, fdList &allFds, int userNbr) if (!allFds.userData[userNbr].registered) { - cmd_error(allFds, allFds.userData[userNbr].fd, "451 * WHO :You have not registered\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "451 " + allFds.userData[userNbr].nickname + " WHO :You have not registered\n"); return ; } split(buffer, ' ', splitBuff); @@ -65,10 +65,10 @@ void WHO(std::string buffer, fdList &allFds, int userNbr) } if ((pos = find_channel(allFds, splitBuff[1])) == -1) { - cmd_error(allFds, allFds.userData[userNbr].fd, "401 * " + splitBuff[1] + " :No such channel\n"); + cmd_error(allFds, allFds.userData[userNbr].fd, "401 " + allFds.userData[userNbr].nickname + " " + splitBuff[1] + " :No such channel\n"); return ; } - for (int i = 0; i < allFds.channelList[pos].nbrUser; i++) + for (size_t i = 0; i < allFds.channelList[pos].userList.size(); i++) { who_reply(allFds, *allFds.channelList[pos].userList[i], allFds.userData[userNbr].fd); } diff --git a/srcs/delete_user.cpp b/srcs/delete_user.cpp index ab3ee52..8da36bb 100644 --- a/srcs/delete_user.cpp +++ b/srcs/delete_user.cpp @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/12 20:38:50 by apommier #+# #+# */ -/* Updated: 2023/03/09 02:17:28 by apommier ### ########.fr */ +/* Updated: 2023/03/10 21:15:00 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -35,7 +35,7 @@ void del_user_in_chan(clientData *user, channelData *chan) if ((pos = find_client_list(chan->opList, user)) != -1) chan->opList.erase(chan->opList.begin() + pos); - chan->nbrUser--; + //chan->nbrUser--; } void del_chan_in_user(clientData *user, channelData *chan) diff --git a/srcs/start_server.cpp b/srcs/start_server.cpp index c586d25..38ca198 100644 --- a/srcs/start_server.cpp +++ b/srcs/start_server.cpp @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/12/06 21:44:20 by apommier #+# #+# */ -/* Updated: 2023/03/03 22:53:28 by apommier ### ########.fr */ +/* Updated: 2023/03/10 21:13:21 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -32,7 +32,7 @@ void initialize(char **av) //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); if (allFds.serverFd == -1) ft_error("socket() error");