mirror of
https://github.com/anope/anope.git
synced 2026-07-06 00:13:13 +02:00
Removed a lot of unnecessary .c_str() calls in the find* functions
This commit is contained in:
+4
-4
@@ -1155,13 +1155,13 @@ void do_join(const char *source, int ac, const char **av)
|
||||
std::string channame = cc->chan->name;
|
||||
FOREACH_MOD(I_OnPrePartChannel, OnPrePartChannel(user, cc->chan));
|
||||
cc->chan->DeleteUser(user);
|
||||
FOREACH_MOD(I_OnPartChannel, OnPartChannel(user, findchan(channame.c_str()), channame, ""));
|
||||
FOREACH_MOD(I_OnPartChannel, OnPartChannel(user, findchan(channame), channame, ""));
|
||||
}
|
||||
user->chans.clear();
|
||||
continue;
|
||||
}
|
||||
|
||||
chan = findchan(buf.c_str());
|
||||
chan = findchan(buf);
|
||||
|
||||
/* Channel doesn't exist, create it */
|
||||
if (!chan)
|
||||
@@ -1256,7 +1256,7 @@ void do_part(const char *source, int ac, const char **av)
|
||||
ci::string buf;
|
||||
while (sep.GetToken(buf))
|
||||
{
|
||||
Channel *c = findchan(buf.c_str());
|
||||
Channel *c = findchan(buf);
|
||||
|
||||
if (!c)
|
||||
{
|
||||
@@ -1270,7 +1270,7 @@ void do_part(const char *source, int ac, const char **av)
|
||||
FOREACH_MOD(I_OnPrePartChannel, OnPrePartChannel(user, c));
|
||||
std::string ChannelName = c->name;
|
||||
c->DeleteUser(user);
|
||||
FOREACH_MOD(I_OnPartChannel, OnPartChannel(user, findchan(ChannelName.c_str()), ChannelName, av[1] ? av[1] : ""));
|
||||
FOREACH_MOD(I_OnPartChannel, OnPartChannel(user, findchan(ChannelName), ChannelName, av[1] ? av[1] : ""));
|
||||
}
|
||||
else
|
||||
Alog(LOG_DEBUG) << "Recieved PART from " << user->nick << " for " << c->name << ", but " << user->nick << " isn't in " << c->name << "?";
|
||||
|
||||
+1
-1
@@ -100,7 +100,7 @@ void mod_run_cmd(BotInfo *bi, User *u, const ci::string &cmd)
|
||||
{
|
||||
if (ircdproto->IsChannelValid(params[0].c_str()))
|
||||
{
|
||||
if ((ci = cs_findchan(params[0].c_str())))
|
||||
if ((ci = cs_findchan(params[0])))
|
||||
{
|
||||
if ((ci->HasFlag(CI_FORBIDDEN)) && (!c->HasFlag(CFLAG_ALLOW_FORBIDDEN)))
|
||||
{
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ class CommandBSAct : public Command
|
||||
|
||||
CommandReturn Execute(User *u, const std::vector<ci::string> ¶ms)
|
||||
{
|
||||
ChannelInfo *ci = cs_findchan(params[0].c_str());
|
||||
ChannelInfo *ci = cs_findchan(params[0]);
|
||||
ci::string message = params[1];
|
||||
|
||||
if (!check_access(u, ci, CA_SAY))
|
||||
|
||||
@@ -171,7 +171,7 @@ class CommandCSAKick : public Command
|
||||
{
|
||||
ci::string mask = params[2];
|
||||
ci::string reason = params.size() > 3 ? params[3] : "";
|
||||
NickAlias *na = findnick(mask.c_str());
|
||||
NickAlias *na = findnick(mask);
|
||||
NickCore *nc = NULL;
|
||||
AutoKick *akick;
|
||||
|
||||
@@ -300,7 +300,7 @@ class CommandCSAKick : public Command
|
||||
return;
|
||||
}
|
||||
|
||||
na = findnick(mask.c_str());
|
||||
na = findnick(mask);
|
||||
nc = (na ? na->nc : NULL);
|
||||
|
||||
for (i = 0; i < ci->GetAkickCount(); ++i)
|
||||
@@ -340,7 +340,7 @@ class CommandCSAKick : public Command
|
||||
return;
|
||||
}
|
||||
|
||||
na = findnick(mask.c_str());
|
||||
na = findnick(mask);
|
||||
nc = (na ? na->nc : NULL);
|
||||
|
||||
for (i = 0; i < ci->GetAkickCount(); ++i)
|
||||
@@ -380,7 +380,7 @@ class CommandCSAKick : public Command
|
||||
(new AkickDelCallback(u, ci, mask.c_str()))->Process();
|
||||
else
|
||||
{
|
||||
NickAlias *na = findnick(mask.c_str());
|
||||
NickAlias *na = findnick(mask);
|
||||
NickCore *nc = (na ? na->nc : NULL);
|
||||
|
||||
for (i = 0; i < ci->GetAkickCount(); ++i)
|
||||
@@ -530,7 +530,7 @@ class CommandCSAKick : public Command
|
||||
ci::string cmd = params[1];
|
||||
ci::string mask = params.size() > 2 ? params[2] : "";
|
||||
|
||||
ChannelInfo *ci = cs_findchan(chan.c_str());
|
||||
ChannelInfo *ci = cs_findchan(chan);
|
||||
|
||||
if (mask.empty() && (cmd == "ADD" || cmd == "STICK" || cmd == "UNSTICK" || cmd == "DEL"))
|
||||
this->OnSyntaxError(u, cmd);
|
||||
|
||||
@@ -64,7 +64,7 @@ class CommandCSForbid : public Command
|
||||
if (reason)
|
||||
ci->forbidreason = sstrdup(reason);
|
||||
|
||||
if ((c = findchan(ci->name.c_str())))
|
||||
if ((c = findchan(ci->name)))
|
||||
{
|
||||
/* Before banning everyone, it might be prudent to clear +e and +I lists..
|
||||
* to prevent ppl from rejoining.. ~ Viper */
|
||||
|
||||
@@ -46,7 +46,7 @@ class CommandCSInvite : public Command
|
||||
u2 = u;
|
||||
else
|
||||
{
|
||||
if (!(u2 = finduser(params[1].c_str())))
|
||||
if (!(u2 = finduser(params[1])))
|
||||
{
|
||||
notice_lang(Config.s_ChanServ, u, NICK_X_NOT_IN_USE, params[1].c_str());
|
||||
return MOD_CONT;
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ class CommandCSSet : public Command
|
||||
private:
|
||||
CommandReturn DoSetFounder(User * u, ChannelInfo * ci, const ci::string ¶m)
|
||||
{
|
||||
NickAlias *na = findnick(param.c_str());
|
||||
NickAlias *na = findnick(param);
|
||||
NickCore *nc, *nc0 = ci->founder;
|
||||
|
||||
if (!na)
|
||||
@@ -63,7 +63,7 @@ class CommandCSSet : public Command
|
||||
|
||||
if (!param.empty())
|
||||
{
|
||||
na = findnick(param.c_str());
|
||||
na = findnick(param);
|
||||
|
||||
if (!na)
|
||||
{
|
||||
|
||||
@@ -59,7 +59,7 @@ class CommandCSSuspend : public Command
|
||||
if (reason)
|
||||
ci->forbidreason = sstrdup(reason);
|
||||
|
||||
if ((c = findchan(ci->name.c_str())))
|
||||
if ((c = findchan(ci->name)))
|
||||
{
|
||||
for (CUserList::iterator it = c->users.begin(); it != c->users.end();)
|
||||
{
|
||||
|
||||
@@ -41,7 +41,7 @@ class CommandCSUnban : public Command
|
||||
|
||||
u2 = u;
|
||||
if (params.size() > 1)
|
||||
u2 = finduser(params[1].c_str());
|
||||
u2 = finduser(params[1]);
|
||||
|
||||
if (!u2)
|
||||
{
|
||||
|
||||
@@ -93,17 +93,17 @@ static void ReadDatabase(Module *m = NULL)
|
||||
{
|
||||
if (params[0] == "NC")
|
||||
{
|
||||
nc = findcore(params[1].c_str());
|
||||
nc = findcore(params[1]);
|
||||
Type = MD_NC;
|
||||
}
|
||||
else if (params[0] == "NA")
|
||||
{
|
||||
na = findnick(params[2].c_str());
|
||||
na = findnick(params[2]);
|
||||
Type = MD_NA;
|
||||
}
|
||||
else if (params[0] == "NR")
|
||||
{
|
||||
nr = findrequestnick(params[1].c_str());
|
||||
nr = findrequestnick(params[1]);
|
||||
Type = MD_NR;
|
||||
}
|
||||
else if (params[0] == "BI")
|
||||
@@ -390,7 +390,7 @@ static void LoadNickCore(const std::vector<std::string> ¶ms)
|
||||
|
||||
static void LoadNickAlias(const std::vector<std::string> ¶ms)
|
||||
{
|
||||
NickCore *nc = findcore(params[0].c_str());
|
||||
NickCore *nc = findcore(params[0]);
|
||||
if (!nc)
|
||||
{
|
||||
Alog() << "[db_plain]: Unable to find core " << params[0];
|
||||
@@ -719,7 +719,7 @@ class DBPlain : public Module
|
||||
{
|
||||
if (key == "FOUNDER")
|
||||
{
|
||||
ci->founder = findcore(params[0].c_str());
|
||||
ci->founder = findcore(params[0]);
|
||||
if (!ci->founder)
|
||||
{
|
||||
std::stringstream reason;
|
||||
@@ -728,7 +728,7 @@ class DBPlain : public Module
|
||||
}
|
||||
}
|
||||
else if (key == "SUCCESSOR")
|
||||
ci->successor = findcore(params[0].c_str());
|
||||
ci->successor = findcore(params[0]);
|
||||
else if (key == "LEVELS")
|
||||
{
|
||||
for (unsigned j = 0; j < params.size(); ++j, ++j)
|
||||
@@ -762,7 +762,7 @@ class DBPlain : public Module
|
||||
}
|
||||
else if (key == "ACCESS")
|
||||
{
|
||||
NickCore *nc = findcore(params[0].c_str());
|
||||
NickCore *nc = findcore(params[0]);
|
||||
if (!nc)
|
||||
{
|
||||
std::stringstream reason;
|
||||
@@ -781,7 +781,7 @@ class DBPlain : public Module
|
||||
NickCore *nc = NULL;
|
||||
if (Nick)
|
||||
{
|
||||
nc = findcore(params[2].c_str());
|
||||
nc = findcore(params[2]);
|
||||
if (!nc)
|
||||
{
|
||||
std::stringstream reason;
|
||||
|
||||
+1
-1
@@ -62,7 +62,7 @@ class CommandMSDel : public Command
|
||||
chan = numstr;
|
||||
numstr = params.size() > 1 ? params[1] : "";
|
||||
|
||||
if (!(ci = cs_findchan(chan.c_str())))
|
||||
if (!(ci = cs_findchan(chan)))
|
||||
{
|
||||
notice_lang(Config.s_MemoServ, u, CHAN_X_NOT_REGISTERED, chan.c_str());
|
||||
return MOD_CONT;
|
||||
|
||||
@@ -74,7 +74,7 @@ class CommandMSList : public Command
|
||||
chan = param;
|
||||
param = params.size() > 1 ? params[1] : "";
|
||||
|
||||
if (!(ci = cs_findchan(chan.c_str())))
|
||||
if (!(ci = cs_findchan(chan)))
|
||||
{
|
||||
notice_lang(Config.s_MemoServ, u, CHAN_X_NOT_REGISTERED, chan.c_str());
|
||||
return MOD_CONT;
|
||||
|
||||
@@ -70,7 +70,7 @@ class CommandMSRead : public Command
|
||||
chan = numstr;
|
||||
numstr = params.size() > 1 ? params[1] : "";
|
||||
|
||||
if (!(ci = cs_findchan(chan.c_str())))
|
||||
if (!(ci = cs_findchan(chan)))
|
||||
{
|
||||
notice_lang(Config.s_MemoServ, u, CHAN_X_NOT_REGISTERED, chan.c_str());
|
||||
return MOD_CONT;
|
||||
|
||||
+2
-2
@@ -83,7 +83,7 @@ class CommandMSSet : public Command
|
||||
p1 = p2;
|
||||
p2 = p3;
|
||||
p3 = params.size() > 4 ? params[4] : "";
|
||||
if (!(ci = cs_findchan(chan.c_str())))
|
||||
if (!(ci = cs_findchan(chan)))
|
||||
{
|
||||
notice_lang(Config.s_MemoServ, u, CHAN_X_NOT_REGISTERED, chan.c_str());
|
||||
return MOD_CONT;
|
||||
@@ -100,7 +100,7 @@ class CommandMSSet : public Command
|
||||
if (!p2.empty() && p2 != "HARD" && chan.empty())
|
||||
{
|
||||
NickAlias *na;
|
||||
if (!(na = findnick(p1.c_str())))
|
||||
if (!(na = findnick(p1)))
|
||||
{
|
||||
notice_lang(Config.s_MemoServ, u, NICK_X_NOT_REGISTERED, p1.c_str());
|
||||
return MOD_CONT;
|
||||
|
||||
@@ -124,7 +124,7 @@ class CommandNSAccess : public Command
|
||||
const char *mask = params.size() > 1 ? params[1].c_str() : NULL;
|
||||
NickAlias *na;
|
||||
|
||||
if (cmd == "LIST" && u->Account()->IsServicesOper() && mask && (na = findnick(params[1].c_str())))
|
||||
if (cmd == "LIST" && u->Account()->IsServicesOper() && mask && (na = findnick(params[1])))
|
||||
return this->DoServAdminList(u, params, na->nc);
|
||||
|
||||
if (mask && !strchr(mask, '@'))
|
||||
|
||||
@@ -29,7 +29,7 @@ class CommandNSGroup : public Command
|
||||
std::string pass = params[1].c_str();
|
||||
std::list<std::pair<std::string, std::string> >::iterator it;
|
||||
|
||||
if (Config.NSEmailReg && findrequestnick(u->nick.c_str()))
|
||||
if (Config.NSEmailReg && findrequestnick(u->nick))
|
||||
{
|
||||
notice_lang(Config.s_NickServ, u, NICK_REQUESTED);
|
||||
return MOD_CONT;
|
||||
|
||||
@@ -29,9 +29,9 @@ class CommandNSIdentify : public Command
|
||||
NickRequest *nr;
|
||||
int res;
|
||||
|
||||
if (!(na = findnick(u->nick.c_str())))
|
||||
if (!(na = findnick(u->nick)))
|
||||
{
|
||||
if ((nr = findrequestnick(u->nick.c_str())))
|
||||
if ((nr = findrequestnick(u->nick)))
|
||||
notice_lang(Config.s_NickServ, u, NICK_IS_PREREG);
|
||||
else
|
||||
notice_lang(Config.s_NickServ, u, NICK_NOT_REGISTERED);
|
||||
|
||||
@@ -94,10 +94,9 @@ class CommandNSConfirm : public Command
|
||||
|
||||
CommandReturn DoConfirm(User *u, const std::vector<ci::string> ¶ms)
|
||||
{
|
||||
NickRequest *nr = NULL;
|
||||
std::string passcode = !params.empty() ? params[0].c_str() : "";
|
||||
|
||||
nr = findrequestnick(u->nick.c_str());
|
||||
NickRequest *nr = findrequestnick(u->nick);
|
||||
|
||||
if (Config.NSEmailReg)
|
||||
{
|
||||
@@ -113,7 +112,7 @@ class CommandNSConfirm : public Command
|
||||
{
|
||||
/* If an admin, their nick is obviously already regged, so look at the passcode to get the nick
|
||||
of the user they are trying to validate, and push that user through regardless of passcode */
|
||||
nr = findrequestnick(passcode.c_str());
|
||||
nr = findrequestnick(passcode);
|
||||
if (nr)
|
||||
{
|
||||
ActuallyConfirmNick(u, nr, true);
|
||||
@@ -206,7 +205,7 @@ class CommandNSRegister : public CommandNSConfirm
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if ((anr = findrequestnick(u->nick.c_str())))
|
||||
if ((anr = findrequestnick(u->nick)))
|
||||
{
|
||||
notice_lang(Config.s_NickServ, u, NICK_REQUESTED);
|
||||
return MOD_CONT;
|
||||
@@ -247,7 +246,7 @@ class CommandNSRegister : public CommandNSConfirm
|
||||
this->OnSyntaxError(u, "");
|
||||
else if (time(NULL) < u->lastnickreg + Config.NSRegDelay)
|
||||
notice_lang(Config.s_NickServ, u, NICK_REG_PLEASE_WAIT, (u->lastnickreg + Config.NSRegDelay) - time(NULL));
|
||||
else if ((na = findnick(u->nick.c_str())))
|
||||
else if ((na = findnick(u->nick)))
|
||||
{
|
||||
/* i.e. there's already such a nick regged */
|
||||
if (na->HasFlag(NS_FORBIDDEN))
|
||||
@@ -330,7 +329,7 @@ class CommandNSResend : public Command
|
||||
NickRequest *nr = NULL;
|
||||
if (Config.NSEmailReg)
|
||||
{
|
||||
if ((nr = findrequestnick(u->nick.c_str())))
|
||||
if ((nr = findrequestnick(u->nick)))
|
||||
{
|
||||
if (time(NULL) < nr->lastmail + Config.NSResendDelay)
|
||||
{
|
||||
|
||||
@@ -29,7 +29,7 @@ class CommandNSResetPass : public Command
|
||||
|
||||
if (Config.RestrictMail && !u->Account()->HasCommand("nickserv/resetpass"))
|
||||
notice_lang(Config.s_NickServ, u, ACCESS_DENIED);
|
||||
if (!(na = findnick(params[0].c_str())))
|
||||
if (!(na = findnick(params[0])))
|
||||
notice_lang(Config.s_NickServ, u, NICK_X_NOT_REGISTERED, params[0].c_str());
|
||||
else if (na->HasFlag(NS_FORBIDDEN))
|
||||
notice_lang(Config.s_NickServ, u, NICK_X_FORBIDDEN, na->nick);
|
||||
|
||||
@@ -54,9 +54,9 @@ class CommandOSSVSNick : public Command
|
||||
/* Check for a nick in use or a forbidden/suspended nick */
|
||||
if (!(u2 = finduser(nick)))
|
||||
notice_lang(Config.s_OperServ, u, NICK_X_NOT_IN_USE, nick);
|
||||
else if (finduser(newnick.c_str()))
|
||||
else if (finduser(newnick))
|
||||
notice_lang(Config.s_OperServ, u, NICK_X_IN_USE, newnick.c_str());
|
||||
else if ((na = findnick(newnick.c_str())) && (na->HasFlag(NS_FORBIDDEN)))
|
||||
else if ((na = findnick(newnick)) && (na->HasFlag(NS_FORBIDDEN)))
|
||||
notice_lang(Config.s_OperServ, u, NICK_X_FORBIDDEN, newnick.c_str());
|
||||
else
|
||||
{
|
||||
|
||||
+2
-2
@@ -218,7 +218,6 @@ int m_privmsg(const char *source, const std::string &receiver, const char *msg)
|
||||
int m_stats(const char *source, int ac, const char **av)
|
||||
{
|
||||
User *u;
|
||||
NickCore *nc;
|
||||
|
||||
if (ac < 1)
|
||||
return MOD_CONT;
|
||||
@@ -248,7 +247,8 @@ int m_stats(const char *source, int ac, const char **av)
|
||||
{
|
||||
std::string nick = it->first, type = it->second;
|
||||
|
||||
if ((nc = findcore(nick.c_str())))
|
||||
NickCore *nc = findcore(nick);
|
||||
if (nc)
|
||||
ircdproto->SendNumeric(Config.ServerName, 243, source, "O * * %s %s 0", nick.c_str(), type.c_str());
|
||||
}
|
||||
|
||||
|
||||
@@ -181,7 +181,7 @@ class TempBan : public CallBack
|
||||
{
|
||||
Channel *c;
|
||||
|
||||
if ((c = findchan(chan.c_str())) && c->ci)
|
||||
if ((c = findchan(chan)) && c->ci)
|
||||
{
|
||||
c->RemoveMode(NULL, CMODE_BAN, mask);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/* RequiredLibraries: mysqlpp */
|
||||
|
||||
#include "db_mysql.h"
|
||||
#define HASH(nick) (((nick)[0]&31)<<5 | ((nick)[1]&31))
|
||||
|
||||
class FakeNickCore : public NickCore
|
||||
{
|
||||
|
||||
@@ -499,7 +499,7 @@ class DBMySQLWrite : public DBMySQL
|
||||
if (u->Account() && ((command == "SET" && !params.empty()) || (command == "SASET" && u->Account()->HasCommand("nickserv/saset") && params.size() > 1)))
|
||||
{
|
||||
ci::string cmd = (command == "SET" ? params[0] : params[1]);
|
||||
NickCore *nc = (command == "SET" ? u->Account() : findcore(params[0].c_str()));
|
||||
NickCore *nc = (command == "SET" ? u->Account() : findcore(params[0]));
|
||||
if (!nc)
|
||||
return;
|
||||
if (cmd == "PASSWORD" && params.size() > 1)
|
||||
@@ -543,7 +543,7 @@ class DBMySQLWrite : public DBMySQL
|
||||
{
|
||||
if (command == "SET" && u->Account() && params.size() > 1)
|
||||
{
|
||||
ChannelInfo *ci = cs_findchan(params[0].c_str());
|
||||
ChannelInfo *ci = cs_findchan(params[0]);
|
||||
if (!ci)
|
||||
return;
|
||||
if (!u->Account()->HasPriv("chanserv/set") && check_access(u, ci, CA_SET))
|
||||
@@ -603,7 +603,7 @@ class DBMySQLWrite : public DBMySQL
|
||||
{
|
||||
if (command == "KICK" && params.size() > 2)
|
||||
{
|
||||
ChannelInfo *ci = cs_findchan(params[0].c_str());
|
||||
ChannelInfo *ci = cs_findchan(params[0]);
|
||||
if (!ci)
|
||||
return;
|
||||
if (!check_access(u, ci, CA_SET) && !u->Account()->HasPriv("botserv/administration"))
|
||||
@@ -641,12 +641,12 @@ class DBMySQLWrite : public DBMySQL
|
||||
}
|
||||
else if (command == "SET" && params.size() > 2)
|
||||
{
|
||||
ChannelInfo *ci = cs_findchan(params[0].c_str());
|
||||
ChannelInfo *ci = cs_findchan(params[0]);
|
||||
if (ci && !check_access(u, ci, CA_SET) && !u->Account()->HasPriv("botserv/administration"))
|
||||
return;
|
||||
BotInfo *bi = NULL;
|
||||
if (!ci)
|
||||
bi = findbot(params[0].c_str());
|
||||
bi = findbot(params[0]);
|
||||
if (bi && params[1] == "PRIVATE" && u->Account()->HasPriv("botserv/set/private"))
|
||||
{
|
||||
query << "UPDATE `anope_bs_core` SET `flags` = '" << GetBotServFlags(bi) << "' WHERE `nick` = " << mysqlpp::quote << bi->nick;
|
||||
|
||||
+1
-1
@@ -208,7 +208,7 @@ int validate_user(User * u)
|
||||
NickAlias *na;
|
||||
NickRequest *nr;
|
||||
|
||||
if ((nr = findrequestnick(u->nick.c_str())))
|
||||
if ((nr = findrequestnick(u->nick)))
|
||||
{
|
||||
notice_lang(Config.s_NickServ, u, NICK_IS_PREREG);
|
||||
return 0;
|
||||
|
||||
+2
-2
@@ -358,7 +358,7 @@ void User::Collide(NickAlias *na)
|
||||
snprintf(randbuf, sizeof(randbuf), "%d", getrandom16());
|
||||
guestnick = std::string(Config.NSGuestNickPrefix) + std::string(randbuf);
|
||||
}
|
||||
while (finduser(guestnick.c_str()));
|
||||
while (finduser(guestnick));
|
||||
|
||||
notice_lang(Config.s_NickServ, this, FORCENICKCHANGE_CHANGING, guestnick.c_str());
|
||||
ircdproto->SendForceNickChange(this, guestnick.c_str(), time(NULL));
|
||||
@@ -737,7 +737,7 @@ User *finduser(const ci::string &nick)
|
||||
if (isdigit(nick[0]) && ircd->ts6)
|
||||
return find_byuid(nick);
|
||||
|
||||
user_map::const_iterator it = UserListByNick.find(nick.c_str());
|
||||
user_map::const_iterator it = UserListByNick.find(nick);
|
||||
|
||||
if (it != UserListByNick.end())
|
||||
return it->second;
|
||||
|
||||
Reference in New Issue
Block a user