From df29f605959aa449a3962199ee1cac3e09e05e38 Mon Sep 17 00:00:00 2001 From: Peter Keresztes Schmidt Date: Sun, 16 Aug 2020 16:27:19 +0200 Subject: Core/ChatCommands: Honor exact matches during enum arg parsing (PR #25255) --- src/server/game/Chat/ChatCommands/ChatCommandArgs.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/server/game/Chat/ChatCommands/ChatCommandArgs.h b/src/server/game/Chat/ChatCommands/ChatCommandArgs.h index d54c684f581..242b806446d 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommandArgs.h +++ b/src/server/game/Chat/ChatCommands/ChatCommandArgs.h @@ -142,10 +142,13 @@ struct ArgInfo>> if (it == SearchMap.end() || !StringStartsWith(it->first, s)) // not a match return nullptr; - auto it2 = it; - ++it2; - if (it2 != SearchMap.end() && StringStartsWith(it2->first, s)) // not unique - return nullptr; + if (it->first != s) // we don't have an exact match - check if it is unique + { + auto it2 = it; + ++it2; + if (it2 != SearchMap.end() && StringStartsWith(it2->first, s)) // not unique + return nullptr; + } if (it->second) return &*it->second; -- cgit v1.2.3