summaryrefslogtreecommitdiff
path: root/modules/protocol/inspircd20.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2012-07-01 23:50:38 -0400
committerAdam <Adam@anope.org>2012-07-01 23:50:38 -0400
commit28aa981464dc5834a04f52314c798adab260c5a4 (patch)
tree2ccd2da440b8760f76d5c0a295d208767b5a3adf /modules/protocol/inspircd20.cpp
parent2b8a09bf55f9d70d1a4ae36d38661cf572e36eed (diff)
Actually the core can't handle empty realnames, just ignore them
Diffstat (limited to 'modules/protocol/inspircd20.cpp')
-rw-r--r--modules/protocol/inspircd20.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/modules/protocol/inspircd20.cpp b/modules/protocol/inspircd20.cpp
index 744596cbd..b1352959c 100644
--- a/modules/protocol/inspircd20.cpp
+++ b/modules/protocol/inspircd20.cpp
@@ -138,8 +138,10 @@ bool event_chgname(const Anope::string &source, const std::vector<Anope::string>
Log(LOG_DEBUG) << "FNAME for nonexistent user " << source;
return true;
}
+ else if (params.empty())
+ return true;
- u->SetRealname(!params.empty() ? params[0] : "");
+ u->SetRealname(params[0]);
return true;
}
@@ -241,15 +243,14 @@ bool event_encap(const Anope::string &source, const std::vector<Anope::string> &
u->SetDisplayedHost(params[3]);
UplinkSocket::Message(u) << "FHOST " << params[3];
}
- else if (params[1] == "CHGNAME" && params.size() > 2)
+ else if (params[1] == "CHGNAME" && params.size() > 3)
{
User *u = finduser(params[2]);
if (!u || u->server != Me)
return true;
- const Anope::string &name = params.size() > 3 ? params[3] : "";
- u->SetRealname(name);
- UplinkSocket::Message(u) << "FNAME " << name;
+ u->SetRealname(params[3]);
+ UplinkSocket::Message(u) << "FNAME " << params[3];
}
return true;