fix(commands/cmd): now using NULL instead nullptr

This commit is contained in:
Raphael 2025-05-26 17:55:31 +02:00
parent bcfa001d5e
commit 29a3bb114b
7 changed files with 67 additions and 41 deletions

View file

@ -6,7 +6,7 @@
# By: omoudni <omoudni@student.42paris.fr> +#+ +:+ +#+ # # By: omoudni <omoudni@student.42paris.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2025/05/02 15:40:00 by rparodi #+# #+# # # Created: 2025/05/02 15:40:00 by rparodi #+# #+# #
# Updated: 2025/05/24 16:48:43 by rparodi ### ########.fr # # Updated: 2025/05/26 16:18:54 by rparodi ### ########.fr #
# # # #
#******************************************************************************# #******************************************************************************#
@ -31,9 +31,12 @@ SRC = sources/core/logs.cpp \
sources/core/main.cpp \ sources/core/main.cpp \
sources/core/Server.cpp \ sources/core/Server.cpp \
sources/user/user.cpp \ sources/user/user.cpp \
sources/channel/channel.cpp sources/channel/channel.cpp \
sources/commands/commands.cpp \
sources/commands/invite.cpp
INC_DIR = include/core \ INC_DIR = include/core \
include/commands \
include include
CPPFLAGS = $(addprefix -I, $(INC_DIR)) -MMD -MP CPPFLAGS = $(addprefix -I, $(INC_DIR)) -MMD -MP

View file

@ -6,7 +6,7 @@
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */ /* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/20 23:31:58 by rparodi #+# #+# */ /* Created: 2025/05/20 23:31:58 by rparodi #+# #+# */
/* Updated: 2025/05/24 18:21:55 by rparodi ### ########.fr */ /* Updated: 2025/05/26 16:28:58 by rparodi ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -60,7 +60,7 @@ namespace cmd
class Quit; class Quit;
class Topic; class Topic;
class Unknown; class Unknown;
class User; class cmdUser;
}; };
#include "./commands/commands.tpp" #include "./commands/commands.tpp"

View file

@ -6,7 +6,7 @@
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */ /* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/24 17:34:30 by rparodi #+# #+# */ /* Created: 2025/05/24 17:34:30 by rparodi #+# #+# */
/* Updated: 2025/05/24 18:23:26 by rparodi ### ########.fr */ /* Updated: 2025/05/26 16:14:24 by rparodi ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -18,7 +18,7 @@
* @tparam T Type of the list have to be search (have to get an getName() method) * @tparam T Type of the list have to be search (have to get an getName() method)
* @param list list to search in * @param list list to search in
* @param name name of the element to search * @param name name of the element to search
* @return pointer to the element found or nullptr if not found * @return pointer to the element found or NULL if not found
*/ */
template <typename T> template <typename T>
T cmd::searchList(const std::list<T> &list, const std::string &name) { T cmd::searchList(const std::list<T> &list, const std::string &name) {
@ -26,5 +26,5 @@ T cmd::searchList(const std::list<T> &list, const std::string &name) {
if ((*it)->getName() == name) if ((*it)->getName() == name)
return *it; return *it;
} }
return nullptr; return NULL;
} }

View file

@ -6,7 +6,7 @@
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */ /* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/24 17:17:31 by rparodi #+# #+# */ /* Created: 2025/05/24 17:17:31 by rparodi #+# #+# */
/* Updated: 2025/05/24 17:32:43 by rparodi ### ########.fr */ /* Updated: 2025/05/26 16:27:42 by rparodi ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -16,6 +16,6 @@
class cmd::Invite : public ACommand { class cmd::Invite : public ACommand {
public: public:
virtual void execute(Server &server, User &client, const std::vector<std::string> &args); virtual void execute(void);
virtual bool checkArgs(); virtual bool checkArgs();
}; };

View file

@ -6,7 +6,7 @@
/* By: omoudni <omoudni@student.42paris.fr> +#+ +:+ +#+ */ /* By: omoudni <omoudni@student.42paris.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/20 21:57:49 by rparodi #+# #+# */ /* Created: 2025/05/20 21:57:49 by rparodi #+# #+# */
/* Updated: 2025/05/21 21:16:56 by omoudni ### ########.fr */ /* Updated: 2025/05/26 16:16:01 by rparodi ### ########.fr */
/* */ /* */
/******************************************************************************/ /******************************************************************************/

View file

@ -112,8 +112,8 @@ ACommand::ACommand(::User *user, ::Channel *channel, ::Server *server, const std
_command = _args.at(0); _command = _args.at(0);
_channels = server->getChannelsList(); _channels = server->getChannelsList();
_users = server->getUsersList(); _users = server->getUsersList();
_uTarget = nullptr; _uTarget = NULL;
_cTarget = nullptr; _cTarget = NULL;
} }
ACommand::~ACommand() { ACommand::~ACommand() {

View file

@ -6,7 +6,7 @@
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */ /* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/24 17:29:48 by rparodi #+# #+# */ /* Created: 2025/05/24 17:29:48 by rparodi #+# #+# */
/* Updated: 2025/05/24 17:58:36 by rparodi ### ########.fr */ /* Updated: 2025/05/26 16:43:01 by rparodi ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -27,14 +27,37 @@ bool Invite::checkArgs() {
return false; return false;
} }
_cTarget = searchList(_channels, _args.at(1)); _cTarget = searchList(_channels, _args.at(1));
if (_cTarget == nullptr) { if (_cTarget == NULL) {
WARNING_MSG("Channel not found for INVITE command"); WARNING_MSG("Channel not found for INVITE command");
INFO_MSG("You can only invite users to channels you are in"); INFO_MSG("You can only invite users to channels you are in");
return false; return false;
} }
if (searchList(_cTarget->getOperators(), _sender->getName()) != nullptr) { if (searchList(_cTarget->getOperators(), _sender->getName()) != NULL) {
WARNING_MSG("You are not an operator in the channel for INVITE command"); WARNING_MSG("You are not an operator in the channel for INVITE command");
return false; return false;
} }
return (true); uTarget = searchList(this->_users, _args.at(2));
if (this->_uTarget == NULL) {
WARNING_MSG("User not found");
return false;
}
if (this->_uTarget->isRegistered() == false) {
WARNING_MSG("User is not registered for INVITE command");
INFO_MSG("You can only invite registered users");
return false;
}
if (searchList(this->_cTarget->getUsers(), this->_uTarget->getName())) {
WARNING_MSG("User is already in the channel for INVITE command");
INFO_MSG("You cannot invite a user who is already in the channel");
return false;
}
return true;
}
void Invite::execute() {
if (checkArgs() == false) {
ERROR_MSG("Invalid arguments for INVITE command (see warning message)");
return;
}
// check how the com
} }