aboutsummaryrefslogtreecommitdiffstats
path: root/src/command
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2014-12-08 13:25:00 +0100
committerMax Kellermann <max@duempel.org>2014-12-08 13:25:00 +0100
commit3a28f456b1dbc6e7cb225378375a598735f35338 (patch)
tree67875ded844886796531104c2ed416936780b619 /src/command
parent4f6fc2675cc250a08229b3f37834424addc9bf5b (diff)
downloadmpd-3a28f456b1dbc6e7cb225378375a598735f35338.tar.gz
mpd-3a28f456b1dbc6e7cb225378375a598735f35338.tar.xz
mpd-3a28f456b1dbc6e7cb225378375a598735f35338.zip
AllCommands: assign current_command early
Diffstat (limited to 'src/command')
-rw-r--r--src/command/AllCommands.cxx9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/command/AllCommands.cxx b/src/command/AllCommands.cxx
index 989418ea5..f740373de 100644
--- a/src/command/AllCommands.cxx
+++ b/src/command/AllCommands.cxx
@@ -357,11 +357,13 @@ command_process(Client &client, unsigned num, char *line)
command_list_num = num;
/* get the command name (first word on the line) */
+ /* we have to set current_command because command_error()
+ expects it to be set */
Tokenizer tokenizer(line);
char *argv[COMMAND_ARGV_MAX];
- argv[0] = tokenizer.NextWord(error);
+ current_command = argv[0] = tokenizer.NextWord(error);
if (argv[0] == nullptr) {
current_command = "";
if (tokenizer.IsEnd())
@@ -387,10 +389,7 @@ command_process(Client &client, unsigned num, char *line)
tokenizer.NextParam(error)) != nullptr)
++argc;
- /* some error checks; we have to set current_command because
- command_error() expects it to be set */
-
- current_command = argv[0];
+ /* some error checks */
if (argc >= COMMAND_ARGV_MAX) {
command_error(client, ACK_ERROR_ARG, "Too many arguments");