Skip to content

Commit

Permalink
Merge pull request #968 from ShutterQuick/insp20+sporder
Browse files Browse the repository at this point in the history
cmd_list: Give +s precedence to +p
  • Loading branch information
attilamolnar committed Jan 17, 2015
2 parents 25542af + cd5edf8 commit b7b21b6
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions src/commands/cmd_list.cpp
Expand Up @@ -82,14 +82,15 @@ CmdResult CommandList::Handle (const std::vector<std::string>& parameters, User
// if the channel is not private/secret, OR the user is on the channel anyway
bool n = (i->second->HasUser(user) || user->HasPrivPermission("channels/auspex"));

if (!n && i->second->IsModeSet('p'))
// If we're not in the channel and +s is set on it, we want to ignore it
if (n || !i->second->IsModeSet('s'))
{
/* Channel is +p and user is outside/not privileged */
user->WriteNumeric(322, "%s * %ld :",user->nick.c_str(), users);
}
else
{
if (n || !i->second->IsModeSet('s'))
if (!n && i->second->IsModeSet('p'))
{
/* Channel is +p and user is outside/not privileged */
user->WriteNumeric(322, "%s * %ld :",user->nick.c_str(), users);
}
else
{
/* User is in the channel/privileged, channel is not +s */
user->WriteNumeric(322, "%s %s %ld :[+%s] %s",user->nick.c_str(),i->second->name.c_str(),users,i->second->ChanModes(n),i->second->topic.c_str());
Expand Down

0 comments on commit b7b21b6

Please sign in to comment.