aboutsummaryrefslogtreecommitdiff
path: root/src/server/worldserver
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-10-22 20:26:56 +0200
committerShauren <shauren.trinity@gmail.com>2015-10-22 22:34:16 +0200
commitc92faf627712d26a7abdce2db62ffb8b938a4522 (patch)
tree8b84fc1f6a84a774062e46e6f6cc1dc9bf36a917 /src/server/worldserver
parentdb8aba662ae94aeaab74ae2ae29c38cf0b8bffb4 (diff)
Core/Commands: Refactored chat command script hook, fixes a crash when building with gcc 5
Closes #15616 Closes #15740 (cherry picked from commit 2d942ddcc528cc9fe718ebbd5903318fcbdab817) # Conflicts: # src/server/scripts/Commands/cs_battlenet_account.cpp # src/server/scripts/Commands/cs_cast.cpp # src/server/scripts/Commands/cs_debug.cpp # src/server/scripts/Commands/cs_go.cpp # src/server/scripts/Commands/cs_misc.cpp # src/server/scripts/Commands/cs_mmaps.cpp # src/server/scripts/Commands/cs_modify.cpp # src/server/scripts/Commands/cs_npc.cpp # src/server/scripts/Commands/cs_reload.cpp # src/server/scripts/Commands/cs_ticket.cpp
Diffstat (limited to 'src/server/worldserver')
-rw-r--r--src/server/worldserver/CommandLine/CliRunnable.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/server/worldserver/CommandLine/CliRunnable.cpp b/src/server/worldserver/CommandLine/CliRunnable.cpp
index ad9ae28f712..3901e17f9c2 100644
--- a/src/server/worldserver/CommandLine/CliRunnable.cpp
+++ b/src/server/worldserver/CommandLine/CliRunnable.cpp
@@ -36,9 +36,9 @@
char* command_finder(const char* text, int state)
{
- static int idx, len;
+ static size_t idx, len;
const char* ret;
- ChatCommand* cmd = ChatHandler::getCommandTable();
+ std::vector<ChatCommand> const& cmd = ChatHandler::getCommandTable();
if (!state)
{
@@ -46,20 +46,19 @@ char* command_finder(const char* text, int state)
len = strlen(text);
}
- while ((ret = cmd[idx].Name))
+ while (idx < cmd.size())
{
+ ret = cmd[idx].Name;
if (!cmd[idx].AllowConsole)
{
- idx++;
+ ++idx;
continue;
}
- idx++;
+ ++idx;
//printf("Checking %s \n", cmd[idx].Name);
if (strncmp(ret, text, len) == 0)
return strdup(ret);
- if (cmd[idx].Name == NULL)
- break;
}
return ((char*)NULL);