fixed amb953 - blank overrides did not strip flags
--HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401441
This commit is contained in:
parent
9366bad594
commit
78e0de7a5b
@ -349,7 +349,7 @@ void AdminCache::AddCommandOverride(const char *cmd, OverrideType type, FlagBits
|
|||||||
|
|
||||||
sm_trie_insert(pTrie, cmd, (void *)(unsigned int)flags);
|
sm_trie_insert(pTrie, cmd, (void *)(unsigned int)flags);
|
||||||
|
|
||||||
g_ConCmds.UpdateAdminCmdFlags(cmd, type, flags);
|
g_ConCmds.UpdateAdminCmdFlags(cmd, type, flags, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AdminCache::GetCommandOverride(const char *cmd, OverrideType type, FlagBits *pFlags)
|
bool AdminCache::GetCommandOverride(const char *cmd, OverrideType type, FlagBits *pFlags)
|
||||||
@ -397,7 +397,7 @@ void AdminCache::_UnsetCommandGroupOverride(const char *group)
|
|||||||
|
|
||||||
sm_trie_delete(m_pCmdGrpOverrides, group);
|
sm_trie_delete(m_pCmdGrpOverrides, group);
|
||||||
|
|
||||||
g_ConCmds.UpdateAdminCmdFlags(group, Override_CommandGroup, 0);
|
g_ConCmds.UpdateAdminCmdFlags(group, Override_CommandGroup, 0, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AdminCache::_UnsetCommandOverride(const char *cmd)
|
void AdminCache::_UnsetCommandOverride(const char *cmd)
|
||||||
@ -409,7 +409,7 @@ void AdminCache::_UnsetCommandOverride(const char *cmd)
|
|||||||
|
|
||||||
sm_trie_delete(m_pCmdOverrides, cmd);
|
sm_trie_delete(m_pCmdOverrides, cmd);
|
||||||
|
|
||||||
g_ConCmds.UpdateAdminCmdFlags(cmd, Override_Command, 0);
|
g_ConCmds.UpdateAdminCmdFlags(cmd, Override_Command, 0, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AdminCache::DumpCommandOverrideCache(OverrideType type)
|
void AdminCache::DumpCommandOverrideCache(OverrideType type)
|
||||||
|
@ -648,7 +648,7 @@ void ConCmdManager::AddToCmdList(ConCmdInfo *info)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConCmdManager::UpdateAdminCmdFlags(const char *cmd, OverrideType type, FlagBits bits)
|
void ConCmdManager::UpdateAdminCmdFlags(const char *cmd, OverrideType type, FlagBits bits, bool remove)
|
||||||
{
|
{
|
||||||
ConCmdInfo *pInfo;
|
ConCmdInfo *pInfo;
|
||||||
|
|
||||||
@ -667,7 +667,7 @@ void ConCmdManager::UpdateAdminCmdFlags(const char *cmd, OverrideType type, Flag
|
|||||||
pHook = (*iter);
|
pHook = (*iter);
|
||||||
if (pHook->pAdmin)
|
if (pHook->pAdmin)
|
||||||
{
|
{
|
||||||
if (bits)
|
if (!remove)
|
||||||
{
|
{
|
||||||
pHook->pAdmin->eflags = bits;
|
pHook->pAdmin->eflags = bits;
|
||||||
} else {
|
} else {
|
||||||
@ -698,7 +698,7 @@ void ConCmdManager::UpdateAdminCmdFlags(const char *cmd, OverrideType type, Flag
|
|||||||
pHook = (*citer);
|
pHook = (*citer);
|
||||||
if (pHook->pAdmin && pHook->pAdmin->cmdGrpId == grpid)
|
if (pHook->pAdmin && pHook->pAdmin->cmdGrpId == grpid)
|
||||||
{
|
{
|
||||||
if (bits)
|
if (remove)
|
||||||
{
|
{
|
||||||
pHook->pAdmin->eflags = bits;
|
pHook->pAdmin->eflags = bits;
|
||||||
} else {
|
} else {
|
||||||
|
@ -117,7 +117,7 @@ public:
|
|||||||
const char *description,
|
const char *description,
|
||||||
int flags);
|
int flags);
|
||||||
ResultType DispatchClientCommand(int client, const char *cmd, int args, ResultType type);
|
ResultType DispatchClientCommand(int client, const char *cmd, int args, ResultType type);
|
||||||
void UpdateAdminCmdFlags(const char *cmd, OverrideType type, FlagBits bits);
|
void UpdateAdminCmdFlags(const char *cmd, OverrideType type, FlagBits bits, bool remove);
|
||||||
bool LookForSourceModCommand(const char *cmd);
|
bool LookForSourceModCommand(const char *cmd);
|
||||||
bool LookForCommandAdminFlags(const char *cmd, FlagBits *pFlags);
|
bool LookForCommandAdminFlags(const char *cmd, FlagBits *pFlags);
|
||||||
bool CheckCommandAccess(int client, const char *cmd, FlagBits flags);
|
bool CheckCommandAccess(int client, const char *cmd, FlagBits flags);
|
||||||
|
Loading…
Reference in New Issue
Block a user