From a53d10350792726bd46cb2452c7f25a89cc52ade Mon Sep 17 00:00:00 2001 From: David Anderson Date: Fri, 10 Aug 2007 05:59:03 +0000 Subject: [PATCH] fixed per-group command overrides not working --HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401306 --- core/ConCmdManager.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/core/ConCmdManager.cpp b/core/ConCmdManager.cpp index d0cdebf7..cb016d57 100644 --- a/core/ConCmdManager.cpp +++ b/core/ConCmdManager.cpp @@ -356,13 +356,9 @@ bool ConCmdManager::CheckCommandAccess(int client, const char *cmd, FlagBits cmd return true; } - /* See if our other flags match */ - if ((bits & cmdflags) == cmdflags) - { - return true; - } - - /* Check for overrides */ + /* Check for overrides + * :TODO: is it worth optimizing this? + */ unsigned int groups = g_Admins.GetAdminGroupCount(adm); GroupId gid; OverrideRule rule; @@ -383,10 +379,16 @@ bool ConCmdManager::CheckCommandAccess(int client, const char *cmd, FlagBits cmd { return true; } else if (rule == Command_Deny) { - break; + return false; } } } + + /* See if our other flags match */ + if ((bits & cmdflags) == cmdflags) + { + return true; + } } return false;