aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2012-09-25 12:04:20 +0200
committerMax Kellermann <max@duempel.org>2012-09-25 12:04:20 +0200
commitb62a8e3e3e8be005ccc8be8d157a0fb92d461e31 (patch)
treeffac21798e2452cfe1bfade2a858b8f87835d3ed
parente47240931ae6e9267025a26c970d68cbe04519fb (diff)
downloadmpd-b62a8e3e3e8be005ccc8be8d157a0fb92d461e31.tar.gz
mpd-b62a8e3e3e8be005ccc8be8d157a0fb92d461e31.tar.xz
mpd-b62a8e3e3e8be005ccc8be8d157a0fb92d461e31.zip
command: add COMMAND_RETURN_IDLE
Eliminate the hack in handle_idle().
-rw-r--r--src/OtherCommands.cxx3
-rw-r--r--src/client_event.c1
-rw-r--r--src/command.h6
3 files changed, 8 insertions, 2 deletions
diff --git a/src/OtherCommands.cxx b/src/OtherCommands.cxx
index 012441fb4..29ddd9962 100644
--- a/src/OtherCommands.cxx
+++ b/src/OtherCommands.cxx
@@ -310,6 +310,5 @@ handle_idle(struct client *client,
/* enable "idle" mode on this client */
client_idle_wait(client, flags);
- /* return value is "1" so the caller won't print "OK" */
- return (enum command_return)1;
+ return COMMAND_RETURN_IDLE;
}
diff --git a/src/client_event.c b/src/client_event.c
index 4f54ae0a7..dbcd35c44 100644
--- a/src/client_event.c
+++ b/src/client_event.c
@@ -77,6 +77,7 @@ client_in_event(G_GNUC_UNUSED GIOChannel *source, GIOCondition condition,
ret = client_read(client);
switch (ret) {
case COMMAND_RETURN_OK:
+ case COMMAND_RETURN_IDLE:
case COMMAND_RETURN_ERROR:
break;
diff --git a/src/command.h b/src/command.h
index 6d8a13be1..6ddd22491 100644
--- a/src/command.h
+++ b/src/command.h
@@ -32,6 +32,12 @@ enum command_return {
COMMAND_RETURN_OK,
/**
+ * The connection is now in "idle" mode, and no response shall
+ * be generated.
+ */
+ COMMAND_RETURN_IDLE,
+
+ /**
* There was an error. The "ACK" response was sent to the
* client.
*/