diff options
| author | Shauren <shauren.trinity@gmail.com> | 2015-10-22 20:26:56 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2015-10-22 22:34:16 +0200 |
| commit | c92faf627712d26a7abdce2db62ffb8b938a4522 (patch) | |
| tree | 8b84fc1f6a84a774062e46e6f6cc1dc9bf36a917 /src/server/worldserver | |
| parent | db8aba662ae94aeaab74ae2ae29c38cf0b8bffb4 (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.cpp | 13 |
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); |
