X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fusers.cpp;h=7437e8a209f83baea1e3345608785616883e1732;hb=5fbb5a0b2c5c08f76f99bd03b51bce2164feade3;hp=b6fbc38a0927700c2d91b799026af0a9834fc3a6;hpb=da29af8cba49d51e53d6e68237ccbf6370b6dd1f;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/users.cpp b/src/users.cpp index b6fbc38a0..7437e8a20 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -340,7 +340,7 @@ void User::Oper(OperInfo* info) LocalUser* l = IS_LOCAL(this); std::string vhost = oper->getConfig("vhost"); if (!vhost.empty()) - l->ChangeDisplayedHost(vhost.c_str()); + l->ChangeDisplayedHost(vhost); std::string opClass = oper->getConfig("class"); if (!opClass.empty()) l->SetClass(opClass); @@ -811,7 +811,8 @@ void User::WriteNumeric(const Numeric::Numeric& numeric) if (MOD_RESULT == MOD_RES_DENY) return; - this->Write(BuildNumeric(ServerInstance->Config->ServerName, this, numeric.GetNumeric(), numeric.GetParams())); + const std::string& servername = (numeric.GetServer() ? numeric.GetServer()->GetName() : ServerInstance->Config->ServerName); + this->Write(BuildNumeric(servername, this, numeric.GetNumeric(), numeric.GetParams())); } void User::WriteFrom(User *user, const std::string &text) @@ -830,6 +831,16 @@ void User::WriteFrom(User *user, const char* text, ...) this->WriteFrom(user, textbuffer); } +void User::WriteRemoteNotice(const std::string& text) +{ + ServerInstance->PI->SendUserNotice(this, text); +} + +void LocalUser::WriteRemoteNotice(const std::string& text) +{ + WriteNotice(text); +} + namespace { class WriteCommonRawHandler : public User::ForEachNeighborHandler @@ -937,21 +948,9 @@ void User::SendText(const char *text, ...) SendText(line); } -void User::SendText(const std::string& linePrefix, std::stringstream& textStream) +void User::WriteRemoteNumeric(const Numeric::Numeric& numeric) { - std::string line; - std::string word; - while (textStream >> word) - { - size_t lineLength = linePrefix.length() + line.length() + word.length() + 3; // "\s\n\r" - if (lineLength > ServerInstance->Config->Limits.MaxLine) - { - SendText(linePrefix + line); - line.clear(); - } - line += " " + word; - } - SendText(linePrefix + line); + WriteNumeric(numeric); } /* return 0 or 1 depending if users u and u2 share one or more common channels