X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fwhois.cpp;h=8f85d86cce7e60883c2a58022122a78212ab9fbd;hb=19963bd452eac3c9fc52b3ee60fbf1a81efed7d3;hp=b967fac25bca3b0b94c7fb1c314d0996b52944f0;hpb=a068c47d71e9a922b145b7552b3a64d638c92171;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/whois.cpp b/src/whois.cpp index b967fac25..8f85d86cc 100644 --- a/src/whois.cpp +++ b/src/whois.cpp @@ -2,7 +2,7 @@ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * - * InspIRCd: (C) 2002-2009 InspIRCd Development Team + * InspIRCd: (C) 2002-2010 InspIRCd Development Team * See: http://wiki.inspircd.org/Credits * * This program is free but copyrighted software; see @@ -24,39 +24,23 @@ void InspIRCd::DoWhois(User* user, User* dest,unsigned long signon, unsigned lon std::string cl = dest->ChannelList(user, false); if (cl.length()) - { - if (cl.length() > 400) - { - user->SplitChanList(dest,cl); - } - else - { - this->SendWhoisLine(user, dest, 319, "%s %s :%s",user->nick.c_str(), dest->nick.c_str(), cl.c_str()); - } - } + user->SplitChanList(dest,cl); if (IS_OPER(user) && ServerInstance->Config->OperSpyWhois) { std::string scl = dest->ChannelList(user, true); if (scl.length()) { this->SendWhoisLine(user, dest, 336, "%s %s :is on private/secret channels:",user->nick.c_str(), dest->nick.c_str()); - if (scl.length() > 400) - { - user->SplitChanList(dest,scl); - } - else - { - this->SendWhoisLine(user, dest, 319, "%s %s :%s",user->nick.c_str(), dest->nick.c_str(), scl.c_str()); - } + user->SplitChanList(dest,scl); } } - if (user != dest && *this->Config->HideWhoisServer && !user->HasPrivPermission("servers/auspex")) + if (user != dest && !this->Config->HideWhoisServer.empty() && !user->HasPrivPermission("servers/auspex")) { - this->SendWhoisLine(user, dest, 312, "%s %s %s :%s",user->nick.c_str(), dest->nick.c_str(), this->Config->HideWhoisServer, this->Config->Network); + this->SendWhoisLine(user, dest, 312, "%s %s %s :%s",user->nick.c_str(), dest->nick.c_str(), this->Config->HideWhoisServer.c_str(), this->Config->Network.c_str()); } else { - this->SendWhoisLine(user, dest, 312, "%s %s %s :%s",user->nick.c_str(), dest->nick.c_str(), dest->server, this->GetServerDescription(dest->server).c_str()); + this->SendWhoisLine(user, dest, 312, "%s %s %s :%s",user->nick.c_str(), dest->nick.c_str(), dest->server.c_str(), this->GetServerDescription(dest->server).c_str()); } if (IS_AWAY(dest)) @@ -69,7 +53,7 @@ void InspIRCd::DoWhois(User* user, User* dest,unsigned long signon, unsigned lon if (this->Config->GenericOper) this->SendWhoisLine(user, dest, 313, "%s %s :is an IRC operator",user->nick.c_str(), dest->nick.c_str()); else - this->SendWhoisLine(user, dest, 313, "%s %s :is %s %s on %s",user->nick.c_str(), dest->nick.c_str(), (strchr("AEIOUaeiou",dest->oper[0]) ? "an" : "a"),irc::Spacify(dest->oper.c_str()), this->Config->Network); + this->SendWhoisLine(user, dest, 313, "%s %s :is %s %s on %s",user->nick.c_str(), dest->nick.c_str(), (strchr("AEIOUaeiou",dest->oper->name[0]) ? "an" : "a"),dest->oper->NameStr(), this->Config->Network.c_str()); } if (user == dest || user->HasPrivPermission("users/auspex")) @@ -84,7 +68,7 @@ void InspIRCd::DoWhois(User* user, User* dest,unsigned long signon, unsigned lon } } - FOREACH_MOD_I(this, I_OnWhois,OnWhois(user,dest)); + FOREACH_MOD(I_OnWhois,OnWhois(user,dest)); /* * We only send these if we've been provided them. That is, if hidewhois is turned off, and user is local, or