summaryrefslogtreecommitdiff
path: root/src/message.cpp
diff options
context:
space:
mode:
authorGravatar brain2006-07-28 10:52:04 +0000
committerGravatar brain2006-07-28 10:52:04 +0000
commit7b9fe589320b540db549eb17be46c09778ca021a (patch)
tree2078882e0bb3d39f8ec1c95e5e5326a33f6e49a8 /src/message.cpp
parentMade all the private methods of InspSocket protected instead (diff)
Fix to not hide invisible users non-common channels in whois (rfc doesnt state this)
git-svn-id: http://svn.inspircd.org/repository/branches/1_0_stable@4565 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/message.cpp')
-rw-r--r--src/message.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/message.cpp b/src/message.cpp
index 765f9a304..dc4367095 100644
--- a/src/message.cpp
+++ b/src/message.cpp
@@ -402,7 +402,6 @@ std::string chlist(userrec *user,userrec* source)
{
return lst;
}
- bool userinvisible = (user->modebits & UM_INVISIBLE);
for (std::vector<ucrec*>::const_iterator i = user->chans.begin(); i != user->chans.end(); i++)
{
if ((((ucrec*)(*i))->channel != NULL) && (((ucrec*)(*i))->channel->name))
@@ -412,9 +411,9 @@ std::string chlist(userrec *user,userrec* source)
{
// if the channel is NOT private/secret, OR the source user is on the channel, AND the user is not invisible.
// if the user is the same as the source, shortcircuit the comparison.
- if ((source == user) || ((((!(((ucrec*)(*i))->channel->modes[CM_PRIVATE])) && (!(((ucrec*)(*i))->channel->modes[CM_SECRET])) && (!userinvisible)) || (((ucrec*)(*i))->channel->HasUser(source)))))
+ if ((source == user) || ((((!(((ucrec*)(*i))->channel->modes[CM_PRIVATE])) && (!(((ucrec*)(*i))->channel->modes[CM_SECRET]))) || (((ucrec*)(*i))->channel->HasUser(source)))))
{
- lst = lst + std::string(cmode(user,((ucrec*)(*i))->channel)) + std::string(((ucrec*)(*i))->channel->name) + " ";
+ lst.append(cmode(user,((ucrec*)(*i))->channel)).append(((ucrec*)(*i))->channel->name).append(" ");
}
}
}